我已经看过了这个android 13推送通知指南
https://developer.android.com/about/versions/13/changes/notification-permission#user-choice
我看了请求许可的指南
https://developer.android.com/training/permissions/requesting#java
我已经将编译和目标更新为api 32。
这是到目前为止我的代码(正在进行中)。现在,我只是想让通知提示出现。
if (Build.VERSION.SDK_INT >= 32) {
if (ContextCompat.checkSelfPermission(this, Manifest.permission.ACCESS_NOTIFICATION_POLICY) == PackageManager.PERMISSION_GRANTED)
return;
ActivityResultLauncher<String> launcher = registerForActivityResult(
new ActivityResultContracts.RequestPermission(), isGranted -> {
}
);
launcher.launch(Manifest.permission.POST_NOTIFICATIONS);
}
我的问题是我得到了一个错误cannot find symbol variable POST_NOTIFICATIONS
。
推送通知的正确清单权限是什么?
发布于 2022-08-08 07:26:33
也许我来晚了点,我知道.但我希望这至少能帮助到其他人。您需要在模块级别的gradle文件中使用compileSdkVersion 33。然后,您将被允许使用POST_NOTIFICATIONS权限而不存在任何问题。
发布于 2022-10-01 12:26:05
Android 13 (APILevel33)及更高版本支持运行时权限,用于从应用程序POST_NOTIFICATIONS发送非豁免(包括前台服务)通知。此更改有助于用户将注意力集中在对他们最重要的通知上。
因此,您需要将此权限添加到AndroidManifest.xml
<uses-permission android:name="android.permission.POST_NOTIFICATIONS"/>
https://stackoverflow.com/questions/72310162
复制相似问题