打开特定应用覆盖权限设置 (Android 11)

Open specific app overlay permission setting (Android 11)

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

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

它在 android 11 以下正确打开我的应用程序的相关设置,但在 android 11 它打开覆盖权限的一般设置并且不打开我的应用程序(和用户必须寻找它)。有没有直接打开特定应用权限的解决方案?

这是从 Android 11 (API 30) 开始引入的行为更改

Beginning with Android 11, ACTION_MANAGE_OVERLAY_PERMISSION intents always bring the user to the top-level Settings screen, where the user can grant or revoke the SYSTEM_ALERT_WINDOW permissions for apps. Any package: data in the intent is ignored.

参考官方文档: https://developer.android.com/about/versions/11/privacy/permissions#manage_overlay