打开特定应用程序覆盖权限设置(android 11)

q35jwt9p  于 2021-09-13  发布在  Java
关注(0)|答案(1)|浏览(812)

我正在使用此代码段打开我的应用程序的覆盖权限设置页面:

startActivityForResult(
    Intent(
        Settings.ACTION_MANAGE_OVERLAY_PERMISSION,
        Uri.parse("package:$packageName")
    ),
    REQUEST_OVERDRAW_PERMISSION_CODE
)

在11以下的android上,它会正确打开我的应用程序的相关设置,但在android 11上,它会打开覆盖权限的常规设置,而不会打开我的应用程序(用户必须查找)。是否有任何解决方案可以直接打开特定应用程序的权限?

iyzzxitl

iyzzxitl1#

这是从android 11(api 30)开始引入的行为变化
从安卓11开始, ACTION_MANAGE_OVERLAY_PERMISSION 意图总是将用户带到顶级设置屏幕,在那里用户可以授予或撤销 SYSTEM_ALERT_WINDOW 应用程序的权限。任何 package: data 在这种情况下,意图被忽略。
参考官方文件:https://developer.android.com/about/versions/11/privacy/permissions#manage_overlay

相关问题