Ionic 从SDK 31升级后,通知在SDK 33 Android 13上不起作用

nxowjjhe  于 2023-09-28  发布在  Ionic
关注(0)|答案(1)|浏览(210)

由于playstore要求最低TargetSDK版本为33,这导致我的通知库不再适用于android 13。

受影响的库

1. awesome-cordova-plugins/local-notifications/ngx (Local Notification)

 2. cordova-plugin-fcm-with-dependecy-updated/ionic/ngx (FCM)

尝试的解决方案

在Android Manifest中添加了必要的权限

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

尝试请求通知权限无效

对于requestPermission(),前一个函数将返回false,而不会显示对话框来指示我是否要授予应用程序权限。

async askForLocalNotificationPermission() {
    if (this.platform.is('android')) {
      const hasPermission = await this.localNotifications.requestPermission();

      if (hasPermission) {
        console.log('Notification permission granted');
      } else {
        console.log('Notification permission denied');
      }
    }
  }

后一个函数将为requestPermission()返回true,而不会显示对话框来指示我是否要授予应用程序权限。

async askForFCMNotificationPermission() {
    if (this.platform.is('android')) {
      const hasPermission = await this.fcm.requestPermission();

      if (hasPermission) {
        console.log('Notification permission granted');
      } else {
        console.log('Notification permission denied');
      }
    }
  }
bjg7j2ky

bjg7j2ky1#

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

添加此权限并请求用户在运行时授予该权限。

相关问题