gpt4 book ai didi

android - Android App 和 Android Library 之间的 GCM 冲突

转载 作者:行者123 更新时间:2023-11-29 20:16:33 26 4
gpt4 key购买 nike

我正在构建一个使用 GCM 的库。我正在使用同样实现 GCM 的示例应用程序对其进行测试。

我对两者都使用了相同的实现,除了它们中的每一个都有自己的发件人 ID

这就是我为测试库所用的示例应用程序编写的内容。我也为图书馆写了同样的东西,但服务的名称不同:

<!-- GCM -->
<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="com.example.instabug" />
</intent-filter>
</receiver>

<service
android:name=".SampleInstanceIDListenerService"
android:exported="false">
<intent-filter>
<action android:name="com.google.android.gms.iid.InstanceID" />
</intent-filter>
</service>
<service
android:name=".SampleGcmRegistrationIntentService"
android:exported="false"/>
<service
android:name=".SampleGcmListenerService"
android:exported="false">
<intent-filter>
<action android:name="com.google.android.c2dm.intent.RECEIVE" />
</intent-filter>

</service>

我的问题是每当我向我的图书馆发送推送通知时,App 接收器总是会捕获它。图书馆接收者什么都不做。

有没有办法解决这个问题?!

最佳答案

据我了解,您有两个具有相同 Intent 过滤器的服务。在这种情况下,Android 将选择具有更高优先级(前台)的服务。如果优先级相同 - 将随机选择,即只有一个服务会收到 Intent 。

对于您的情况,最佳解决方案是仅使用一项服务并根据 from 进行调度。 onMessageReceived() 的 (senderId) 参数在你的GcmListenerService .

关于android - Android App 和 Android Library 之间的 GCM 冲突,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33757875/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com