![](/img/trans.png)
[英]Request Push Notification Permissions for Cordova iOS and Android?
[英]How do I request push notification permissions for android 13?
我瀏覽了本指南,了解 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
。
推送通知的正確清單權限是什么?
Android 13(API 級別 33)及更高版本支持從應用程序發送非豁免(包括前台服務 (FGS))通知的運行時權限:POST_NOTIFICATIONS。 此更改可幫助用戶專注於對他們最重要的通知。
所以需要在AndroidManifest.xml中添加這個權限
<uses-permission android:name="android.permission.POST_NOTIFICATIONS"/>
您需要執行幾個步驟,在清單中添加發布通知權限
<uses-permission android:name="android.permission.POST_NOTIFICATIONS"/>
然后在您的 controller 中獲取運行時許可,就像我們通常問的那樣:
if (Build.VERSION.SDK_INT >= 33) {
if (ContextCompat.checkSelfPermission(MainActivity.this, Manifest.permission.POST_NOTIFICATIONS) != PackageManager.PERMISSION_GRANTED) {
ActivityCompat.requestPermissions(MainActivity.this, new String[]{Manifest.permission.POST_NOTIFICATIONS},101);
}
else {
createChannel();
}
}
然后需要像往常一樣處理權限結果
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.