我的项目正在react-native 0.68.5上运行,我无法升级它,有没有办法使用这个react native版本来请求通知?
现在它可以与以前的 Android 版本一起使用,但我希望我的应用程序在较新的 Android 版本上请求此类权限。
您需要在 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() 函数。
没有定义通知权限。
有一种情况,您正在使用 RN v0.6x 并在最新的 android 31 或更高版本上开发应用程序。在这种情况下,必须明确请求通知许可。
由于这些旧版本中没有此类权限,因此没有其他办法,只能迁移到0.70+版本或提示用户通过设置手动向应用程序授予权限。