在 Android 13 中,POST_NOTIFICATIONS 权限被视为敏感权限,需要在运行时动态请求。如果您的应用程序使用 POST_NOTIFICATIONS 权限,请确保在应用程序中请求该权限。以下是代码示例:
在 AndroidManifest.xml 文件中添加以下权限:
在应用程序中动态请求 POST_NOTIFICATIONS 权限的代码示例:
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.M) {
if (!Settings.canDrawOverlays(context)) {
Intent intent = new Intent(Settings.ACTION_MANAGE_OVERLAY_PERMISSION, Uri.parse("package:" + context.getPackageName()));
startActivityForResult(intent, REQUEST_CODE);
}
}
请注意,需要提供可以处理 REQUEST_CODE 的 onActivityResult() 回调方法。
如果您的应用程序仅在 整个应用程序(全局)范围内 发送通知,则可以修改您的代码以使用更常见的通知权限,如 “发送通知”(android.permission.RECEIVE_BOOT_COMPLETED)。在这种情况下,您不需要动态请求特定于 Android 13 的权限。