На самом деле, в моем приложении для Android я блокировал экран, чтобы предотвратить выход пользователя из него с помощью LockTask, и для многих устройств он работал правильно.
Теперь у меня есть Alcatel 8050D, у которого есть физические кнопки обзора, но когда я устанавливаю на него свое приложение и мой MainActivity спрашивает, хочу ли я заблокировать экран, он становится видимым даже для кнопок виртуального обзора. Комментируя метод блокировки экрана, они исчезают, но я должен использовать этот метод.
Так как же я могу скрыть кнопки виртуального обзора?
Вот мой метод блокировки:
@Override
protected void onStart() {
super.onStart();
// start lock task mode if it's not already active
ActivityManager am = (ActivityManager) getSystemService(
Context.ACTIVITY_SERVICE);
// ActivityManager.getLockTaskModeState api is not available in pre-M.
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.M) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
if (am != null && !am.isInLockTaskMode()) {
startLockTask();
}
}
} else {
if ((am != null ? am.getLockTaskModeState() : 0) ==
ActivityManager.LOCK_TASK_MODE_NONE) {
startLockTask();
}
}
}