Expo `Notifications.requestPermissionsAsync()` 始终返回拒绝状态

Jul*_*ann 7 android push-notification react-native expo

我\xe2\x80\x99以apk格式构建了一个React Native Expo内部Android应用程序。我\xe2\x80\x99已经正确设置了应用程序和firebase以进行推送通知。

\n

但是当我在 Android 手机上安装 apk 时,denied当我拨打电话时,我总是会收到 status =:

\n
const { status } = await Notifications.requestPermissionsAsync(); \n
Run Code Online (Sandbox Code Playgroud)\n

就像应用程序默认拒绝推送通知一样。但是,如果我在 android 首选项中手动启用应用程序的通知,那么所有推送通知都可以正常工作。

\n

所以我认为我的设置是正确的,但我不\xe2\x80\x99不明白为什么我不能要求使用该Notifications.requestPermissionsAsync方法从我的应用程序启用通知。这是 apk 的正常行为吗?

\n

小智 7

在 Android 13 上,直到至少创建一个通知通道后,才会出现要求授予权限的提示。

https://docs.expo.dev/versions/latest/sdk/notifications/#permissions

  • 好吧,文档似乎已经通过调用 `Notifications.setNotificationChannelAsync` 进行了更新,但是没有出现允许来自 Android 的通知的提示。每次调用“Notifications.requestPermissionsAsync();”都会失败。与 ``` Object { "android": Object { "importance": 0, "interruptionFilter": 1, }, "canAskAgain": false, "expires": "never", "granted": false, "status": "denied", } ``` 我必须手动进入应用程序的权限以授予通知权限才能获取博览会令牌。我缺少什么? (2认同)