我制作了一个Kiosk模式的应用程序,该应用程序在安装后运行良好(基于Activity.startLockTask())。
重新启动设备(运行Android 8.1的Nexus 5X)后,我无法使用该应用程序,因为无法使键盘出现在屏幕上。
我发出命令以在应用程序处于活动状态时(全屏显示并设置为设备启动器)重新启动,以测试重新启动后它是否仍处于Kiosk模式。结果是它仍处于Kiosk模式,但用户无法激活软键盘。
有什么想法为什么会这样?
该应用程序在Android 8.1模拟器上运行良好,并且在Android 5.1和Android 6.0上运行良好
任何帮助将不胜感激!
答案 0 :(得分:0)
我已通过将以下代码行添加到onCreate()方法(在调用super.onCreate()之后)解决了该问题:
getWindow()。addFlags(WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD | WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED);
在创建对话框窗口时(在调用Dialog.show()之前)应该添加相同的内容。
答案 1 :(得分:0)
当键盘锁处于活动状态时尝试激活信息亭时,会发生这种情况。在激活信息亭之前,您需要检查KeyguardManager.isKeyguardLocked()。
https://developer.android.com/work/dpc/dedicated-devices/lock-task-mode#start_lock_task_mode中有关于此问题的部分内容(有点间接)
由于用户,设备被锁定时不启动锁定任务模式 可能无法解锁设备