如何使用react-native 0.68在Android上请求通知权限?

问题描述 投票:0回答:2

我的项目正在react-native 0.68.5上运行,我无法升级它,有没有办法使用这个react native版本来请求通知?

现在它可以与以前的 Android 版本一起使用,但我希望我的应用程序在较新的 Android 版本上请求此类权限。

javascript android react-native permissions
2个回答
2
投票

您需要在 AndroidManifest.xml 中添加以下行

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

使用以下代码创建一个请求权限的函数。

import { Platform,PermissionsAndroid } from 'react-native';

const requestNotificationPermission = async () => {
  if(Platform.OS ==="android"){
    try {
      PermissionsAndroid.check('android.permission.POST_NOTIFICATIONS').then(
        response => {
          if(!response){
            PermissionsAndroid.request('android.permission.POST_NOTIFICATIONS',{
                title: 'Notification',
                message:
                  'App needs access to your notification ' +
                  'so you can get Updates',
                buttonNeutral: 'Ask Me Later',
                buttonNegative: 'Cancel',
                buttonPositive: 'OK',
            })
          }
        }
      ).catch(
        err => {
          console.log("Notification Error=====>",err);
        }
      )
    } catch (err){
      console.log(err);
    }
  }
};

当您想请求 Android 通知权限时,请调用此 requestNotificationPermission() 函数。


0
投票

没有定义通知权限。

有一种情况,您正在使用 RN v0.6x 并在最新的 android 31 或更高版本上开发应用程序。在这种情况下,必须明确请求通知许可。

由于这些旧版本中没有此类权限,因此没有其他办法,只能迁移到0.70+版本或提示用户通过设置手动向应用程序授予权限。

© www.soinside.com 2019 - 2024. All rights reserved.