我正在使用此代码段打开我的应用程序的覆盖权限设置页面:
startActivityForResult(
Intent(
Settings.ACTION_MANAGE_OVERLAY_PERMISSION,
Uri.parse("package:$packageName")
),
REQUEST_OVERDRAW_PERMISSION_CODE
)
在11以下的android上,它会正确打开我的应用程序的相关设置,但在android 11上,它会打开覆盖权限的常规设置,而不会打开我的应用程序(用户必须查找)。是否有任何解决方案可以直接打开特定应用程序的权限?
1条答案
按热度按时间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