【问题标题】:"Draw over other apps" change listener?“绘制其他应用程序”更改侦听器?
【发布时间】:2015-10-01 16:29:32
【问题描述】:

在我的应用程序中,我有必要知道用户何时授予“在其他应用程序上绘制”权限。有办法知道吗? 由于我只能使用 Settings.ACTION_MANAGE_OVERLAY_PERMISSION 意图操作将用户发送到设置页面以启用它,因此我希望系统广播或类似的东西。

【问题讨论】:

    标签: android


    【解决方案1】:

    可惜没有系统广播,不过可以使用canDrawOverlays (Context context)

    应用可以使用此方法检查当前是否允许绘制 在其他应用程序之上。为了被允许这样做,应用程序必须 首先在其清单中声明 SYSTEM_ALERT_WINDOW 权限。如果 当前不允许,它可以提示用户授予它 通过管理 UI 发送带有操作的 Intent 功能 ACTION_MANAGE_OVERLAY_PERMISSION。

    你可以直接在onActivityResult查看:

    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        if (requestCode == REQUEST_CODE) {
            if (Settings.canDrawOverlays(this)) {
                //Permission is granted
            }
        }
    }
    

    【讨论】:

    • 实际上,如果我需要在重新进入应用程序后立即知道,这将是一个很好的解决方案。但在我的具体情况下,一旦设置从“关闭”变为“开启”,我想知道它。
    • @Santacrab 你找到解决方案了吗?我需要同样的东西。
    • 很遗憾没有。
    猜你喜欢
    • 1970-01-01
    • 2013-12-17
    • 1970-01-01
    • 2014-01-16
    • 2011-09-07
    • 1970-01-01
    • 2013-02-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多