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