На экране блокировки Knox есть две кнопки: одна для вызова службы поддержки клиентов, а другая — для открытия нашего приложения на экране блокировки, чтобы пользователь мог оплатить счет. В настоящее время кнопка «Открыть приложение» не работает — при нажатии ничего не происходит.
Я изменил AndroidManifest.xml следующим образом:
Код: Выделить всё
Код: Выделить всё
android:showWhenLocked="true"
android:inheritShowWhenLocked="true"
android:excludeFromRecents="true"
android:turnScreenOn="true"
Код: Выделить всё
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O_MR1) {
setShowWhenLocked(true);
setTurnScreenOn(true);
KeyguardManager keyguardManager = (KeyguardManager)getSystemService(Context.KEYGUARD_SERVICE);
if (keyguardManager != null) {
keyguardManager.requestDismissKeyguard(this, null);
}
}
Результаты тестирования:
Эмулятор: когда я запускаю приложение на эмуляторе с активным экраном блокировки, приложение корректно отображается на экране блокировки.
Физическое устройство Samsung (Knox): при попытке запустить приложение с помощью кнопки «Открыть приложение», предоставленной Samsung Knox, он не открывается.
Кто-нибудь знает, почему приложение работает на стандартном экране блокировки, но не вызывается триггером Samsung Knox «Открыть приложение»? Требуются ли для этого взаимодействия определенные фильтры намерений или разрешения, специфичные для Knox?
Подробнее здесь: https://stackoverflow.com/questions/798 ... wwhenlocke
Мобильная версия