Отключить кнопку блокировки экрана (питания) в Android
Я хочу, чтобы во время работы моего приложения кнопка питания (которая при нажатии блокирует экран и экран становится ЧЕРНЫМ) должна быть отключена. Так что пользователь не может заблокировать экран.
Я заметил эту вещь в приложении камеры по умолчанию для телефона Samsung Galaxy S. По той же причине я пытаюсь сделать то же самое. У меня также есть приложение, связанное с камерой.
2 ответа
Попробуй это
int val=android.provider.Settings.System.getInt(getContentResolver(),
SCREEN_OFF_TIMEOUT);
android.provider.Settings.System.putInt(getContentResolver(),
SCREEN_OFF_TIMEOUT, -1);
Toast.makeText(this, "Disabled Screen Timeout", Toast.LENGTH_LONG).show();
SharedPreferences.Editor editor = settings.edit();
editor.putInt("ScreenTimeout",val);
editor.commit();
}
} catch(Throwable er) {
Toast.makeText(this, "Error "+er.getMessage(), Toast.LENGTH_LONG).show();
}
это отключит экран
отключить защиту клавиатуры в использовании Android
KeyguardManager keyguardManager = (KeyguardManager)getSystemService(Activity.KEYGUARD_SERVICE);
KeyguardLock lock = keyguardManager.newKeyguardLock(KEYGUARD_SERVICE);
lock.disableKeyguard();
и использовать разрешение
<uses-permission android:name="android.permission.DISABLE_KEYGUARD"/>
сохранить экран живым
@Override
protected void onCreate(Bundle icicle) {
super.onCreate(icicle);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
}
Я достиг этого, используя root-доступ.
sqlite3 /data/data/com.android.providers.settings/databases/settings.db
insert into secure (name, value) values ('lockscreen.disabled', 1);
или в зависимости от версии
sqlite3 /data/system/locksettings.db
insert into locksettings (name, value) values ('lockscreen.disabled', 1);