OStack程序员社区-中国程序员成长平台

标题: android - CLOSE_SYSTEM_DIALOGS 广播后三星设备不关闭应用程序抽屉 [打印本页]

作者: 菜鸟教程小白    时间: 2022-11-6 16:17
标题: android - CLOSE_SYSTEM_DIALOGS 广播后三星设备不关闭应用程序抽屉

我正在为 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/






欢迎光临 OStack程序员社区-中国程序员成长平台 (http://ostack.cn/) Powered by Discuz! X3.4