Expo Notifications addNotificationReceivedListener 仅在 Android 独立版上不会在前台调用

问题描述

我正在尝试在我的 Expo 应用中接收通知。我可以成功注册令牌,并且当应用前景化时,可以很好地收到通知。但是,在 Android 上,只有 addNotificationReceivedListener 回调没有被触发。当应用程序处于前台时,这在 iOS 和 Android 上运行良好,仅当应用程序未处于前台时。 这是我注册回调的代码

React.useEffect(() => {
      Notifications.setNotificationHandler({
         handleNotification: async () => ({
            shouldShowAlert: true,shouldplaySound: true,shouldSetBadge: false,}),});
      Notifications.addNotificationReceivedListener(() => {
         dispatch(setBalance({ amount: null }));
      });
   },[]);

这是我的 app.json

{
   "name": "AppName","displayName": "AppName","expo": {
      "name": "AppName","icon": "./assets/icon.png","slug": "slug","version": "1.0.0","assetBundlePatterns": ["**/*"],"scheme": "appscheme","android": {
         "package": "com.appdomain","enableDangerousExperimentalLeanBuilds": true,"versionCode": 7,"googleServicesFile": "./google-services.json","useNextNotificationsApi": true,"permissions": ["RECEIVE_BOOT_COMPLETED"]
      },"ios": {
         "bundleIdentifier": "com.appdomain","buildNumber": "7"
      }
   }
}

我正在使用 Expo 41,我刚刚从 40 升级到它。它也不适用于 40。谢谢。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...