【发布时间】:2015-10-01 16:29:32
【问题描述】:
在我的应用程序中,我有必要知道用户何时授予“在其他应用程序上绘制”权限。有办法知道吗? 由于我只能使用 Settings.ACTION_MANAGE_OVERLAY_PERMISSION 意图操作将用户发送到设置页面以启用它,因此我希望系统广播或类似的东西。
【问题讨论】:
标签: android
在我的应用程序中,我有必要知道用户何时授予“在其他应用程序上绘制”权限。有办法知道吗? 由于我只能使用 Settings.ACTION_MANAGE_OVERLAY_PERMISSION 意图操作将用户发送到设置页面以启用它,因此我希望系统广播或类似的东西。
【问题讨论】:
标签: android
可惜没有系统广播,不过可以使用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
}
}
}
【讨论】: