Android 8.1(API 27)-重启后键盘未在Kiosk模式应用中显示

时间:2018-12-07 19:54:08

标签: android keyboard mode kiosk

我制作了一个Kiosk模式的应用程序,该应用程序在安装后运行良好(基于Activity.startLockTask())。

重新启动设备(运行Android 8.1的Nexus 5X)后,我无法使用该应用程序,因为无法使键盘出现在屏幕上。

我发出命令以在应用程序处于活动状态时(全屏显示并设置为设备启动器)重新启动,以测试重新启动后它是否仍处于Kiosk模式。结果是它仍处于Kiosk模式,但用户无法激活软键盘。

有什么想法为什么会这样?

该应用程序在Android 8.1模拟器上运行良好,并且在Android 5.1和Android 6.0上运行良好

任何帮助将不胜感激!

2 个答案:

答案 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中有关于此问题的部分内容(有点间接)

  

由于用户,设备被锁定时不启动锁定任务模式   可能无法解锁设备