在我的应用程序中,我有必要知道用户何时授予"绘制其他应用程序"允许。有没有办法知道它? 由于我只能将用户发送到设置页面以使用Settings.ACTION_MANAGE_OVERLAY_PERMISSION意图操作启用它,因此我期待系统广播或类似的事情。
答案 0 :(得分:2)
很遗憾没有系统广播,但您可以使用canDrawOverlays (Context context):
应用可以使用此方法检查当前是否允许绘制 在其他应用程序之上。为了被允许这样做,应用程序必须 首先在其清单中声明SYSTEM_ALERT_WINDOW权限。如果 它目前是不允许的,它可以提示用户授予它 通过发送带有操作的Intent通过管理UI实现的功能 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
}
}
}