我正在为 Android 6.0 开发一个简单的 Kiosk 模式应用程序。我可以在小米、HTC、联想等设备上使用所有功能,但我无法在任何三星设备上使用任何功能。
该功能是使用自动关闭每个系统系统对话框
Intent closeDialog = new Intent(Intent.ACTION_CLOSE_SYSTEM_DIALOGS);
sendBroadcast(closeDialog);
这是从服务广播的。
在我的其他非三星设备上,一切正常,所有系统对话框都关闭,但在任何三星设备(S5、S6 edge...)上,此广播都会被忽略,例如应用程序抽屉保持打开状态。
我观察到即使使用 ADB 广播此 Intent ,应用程序抽屉仍保持打开状态,但例如,如果我从 adb 广播此 Intent ,则关闭设备对话框会关闭。
请注意,这不是该软件上下文中的恶意行为,这是针对需要此功能的客户端的,并且是完全请求的。
我对 Samsung Knox 进行了研究,但我们必须获得他们的许可才能使用 Knox 标准 SDK,这不在本项目的范围内。
所以我的问题是:您知道如何在安装了 Knox 的三星设备上完成这项工作(使用 ACTION_CLOSE_SYSTEM_DIALOGS Intent 关闭应用程序抽屉)吗?
谢谢。
Best Answer-推荐答案
尝试这样做:
@Override
public void onWindowFocusChanged(boolean focus) {
super.onWindowFocusChanged(focus);
if (! focus) {
Intent close= new Intent(Intent.ACTION_CLOSE_SYSTEM_DIALOGS);
sendBroadcast(close);
}
}
关于android - CLOSE_SYSTEM_DIALOGS 广播后三星设备不关闭应用程序抽屉,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/43135535/
|