1

我对 Android 上的 react-native-push-notification 模块有疑问。正确设置后,将为生成的设备令牌传递通知。不幸的是,每个推送通知都是重复的。

那时我没有实现频道名称,远程推送通知被发送两次到“其他”类别。当有频道名称时,Android 在通知模块中将推送通知显示为“其他”“类别名称”

<meta-data  android:name="com.dieam.reactnativepushnotification.notification_channel_name"
                android:value="Channel Name"/>
<meta-data  android:name="com.dieam.reactnativepushnotification.notification_channel_description"
                android:value="Channel description"/>

有没有可能只留下一个推送通知。我确信推送通知会发送一次。

我知道该库不受支持,但不幸的是我没有时间进行更改。我需要快速修复。

我会很高兴得到帮助!

4

2 回答 2

3

我也遇到了同样的问题,然后我意识到文档中存在误解。

我是怎么解决的?

转到 AndroidManifest.xml 并删除它:-

<!-- < Only if you're using GCM or localNotificationSchedule() > -->
        <receiver
            android:name="com.google.android.gms.gcm.GcmReceiver"
            android:exported="true"
            android:permission="com.google.android.c2dm.permission.SEND" >
            <intent-filter>
                <action android:name="com.google.android.c2dm.intent.RECEIVE" />
                <category android:name="${applicationId}" />
            </intent-filter>
        </receiver>
<!-- < Only if you're using GCM or localNotificationSchedule() > -->

当图书馆提到 2 个接收器时,只需要一个接收器,因此删除这个接收器以停止接收重复通知。

于 2020-01-17T12:49:41.747 回答
1

在我的 React Native 应用程序中,我遇到了相同的托盘中双重通知问题。

发生这种情况是因为我注册了两个通知渠道PushNotification.createChannel({...})

所以,我所要做的就是调用PushNotification.deleteChannel('DUPLICATE_CHANNEL_ID')不必要的频道。我只在应用启动时的通知配置中调用了 dfelete 方法一次。

于 2021-05-19T10:16:23.443 回答