为什么 React Native 会阻止 Android 上的通知?

JaR*_*ter 5 android push-notification android-notifications react-native

我正在使用 notifee 在 React Native 应用程序中创建通知。我注意到,默认情况下,通知会被 Android 阻止(请参阅“设置”->“应用程序”->“我的应用程序”)。我是否必须在应用程序中的某个位置设置权限?

当我在“应用程序设置”中启用通知时,它们工作正常,但我希望在安装 apk 时启用它们。

Arm*_*vić 4

是的,如果您的目标平台是 Android 13,则必须明确请求通知权限。

将以下行粘贴到 AndroidManifest.xml 中:

<uses-permission android:name="android.permission.POST_NOTIFICATION"/>
Run Code Online (Sandbox Code Playgroud)

然后在您的应用程序中:

import { PermissionsAndroid } from 'react-native' 

const requestNotificationPermission = async () => {
try {
  await PermissionsAndroid.request(
    PermissionsAndroid.PERMISSIONS.POST_NOTIFICATION
  )
} catch (err) {
  if (_DEV_) console.warn('requestNotificationPermission error: ', err)
 }
}
Run Code Online (Sandbox Code Playgroud)

权限可以命名为“POST_NOTIFICATION”或“POST_NOTIFICATIONS”,具体取决于您的 RN 版本。