Android:应用无法被授予SYSTEM_ALERT_WINDOW权限

3

我正在创建一个使用WindowManager类型为TYPE_APLICATION_OVERLAY的Android应用程序,因此在清单文件中需要包含以下权限:

<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />

该权限已经在AndroidManifest.xml文件中存在。

问题是,一旦我启动了我的应用程序,然后手动转到我的设备的绘制其他应用程序设置来授予上述权限,我的应用程序不在那里

有什么遗漏吗?或者说绘制其他应用程序设置是授予SYSTEM_ALERT_WINDOW所需的正确位置吗?

我的目标设备是Android 11,API级别为30。

我已经完全按照这里instruction的指示操作。

我尝试启动一个Intent操作Settings.ACTION_MANAGE_OVERLAY_PERMISSION,自动转到相同的设置以授予权限,但它只会进入我设备的绘制其他应用程序设置,我的应用程序被排除在外。

在其他应用程序上绘制设置的屏幕截图

2个回答

1

我有同样的问题。结果发现我正在使用的一个依赖项出了问题

<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" android:maxSdkVersion="29" />

而 maxSdkVersion 正在覆盖我的应用程序中的权限。

我必须手动指定使用 tools:remove 忽略该属性。

<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" tools:remove="android:maxSdkVersion" />

0

哦,愚蠢的错误,在我的AndroidManifest.xml中,目标SDK版本应该大于或等于可部署设备或模拟器的Android版本...

现在没问题了。应用程序现在可以正常显示。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接