Я создаю полноэкранное приложение, которое будет работать в режиме «киоска», поэтому пользователь не сможет выйти. Приложение определяется как лаунчер (домашний экран).
Activity
в манифесте определяется с помощью:
android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
Кроме того, Activity
обеспечивает полноэкранный режим со следующим в onCreate()
:
getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
Однако кажется, что строка состояния все еще доступна. По умолчанию он скрыт, но его все равно можно отобразить, коснувшись и потянув верхнюю часть экрана (где он отображается с полупрозрачным фоном вместо обычного сплошного черного).
Я уже знаю, что могу предотвратить это, добавив прозрачное 10px
системное оверлейное окно в верхней части экрана, которое будет поглощать события касания. Но я удалил этот хак, потому что не думал, что это нужно.
Я уверен, что все это работало нормально и не позволяло отображать строку состояния, не прибегая к хакерству. Но что-то где-то изменилось. Я обновился до последней стоковой прошивки и системного ПО - возможно, это что-то изменило?
В настоящее время устройство работает Android
4.4.4. Я полагаю, что это могло быть на 4.4.1 раньше.
Было ли это когда-либо возможно? Скорее всего, что-то изменилось в Android
или я что-то сломал, или это все время ломалось, а я только сейчас заметил?
Обратите внимание, что это относится к специализированному промышленному устройству (Honeywell Dolphin 75e), которое не может быть рутировано.