发送消息时会收到哪些意图操作?
What intent actions are received when a message is sent?
当我从支持 Firebase 的项目发送消息时,会触发哪些 Intent 操作?
我的清单如下:
<receiver android:name="com.test.testapi.MyPushReceiver"
android:permission="com.google.android.c2dm.permission.SEND" >
<intent-filter>
<action android:name="com.google.android.c2dm.intent.RECEIVE" />
<action android:name="com.google.firebase.MESSAGING_EVENT" />
<category android:name="com.test.androidtester" />
</intent-filter>
</receiver>
<service
android:name="com.test.testapi.MyFirebaseMessagingService"
android:exported="false">
<intent-filter>
<action android:name="com.google.firebase.MESSAGING_EVENT"/>
</intent-filter>
</service>
我看到 MyFirebaseMessagingService
按预期被调用,但是我也看到 MyPushReceiver
通过 com.google.android.c2dm.intent.RECEIVE
意图操作被调用。
是否保证 com.google.android.c2dm.intent.RECEIVE
会继续被 Firebase 调用?也许 Google 在 GCM 完全弃用之前暂时保留此功能。
*注意:理想情况下,我希望在我的清单中保留现有的 MyPushReceiver
,以便与我支持的可能位于 FCM 或 GCM 上的众多应用程序向后兼容。
这只是预期的行为。因为即使使用 FCM 发送消息,devices/app 个仍然具有 GCM 实现的实例仍然能够接收消息。
。您实际上不必为了确保应用与 GCM 和 FCM 兼容而实施两个单独的服务。
实际上无法判断它是否得到保证(至少对我来说不是),但我想可以肯定地说它们将继续compatible 直到 Google 决定完全弃用它。
当我从支持 Firebase 的项目发送消息时,会触发哪些 Intent 操作?
我的清单如下:
<receiver android:name="com.test.testapi.MyPushReceiver"
android:permission="com.google.android.c2dm.permission.SEND" >
<intent-filter>
<action android:name="com.google.android.c2dm.intent.RECEIVE" />
<action android:name="com.google.firebase.MESSAGING_EVENT" />
<category android:name="com.test.androidtester" />
</intent-filter>
</receiver>
<service
android:name="com.test.testapi.MyFirebaseMessagingService"
android:exported="false">
<intent-filter>
<action android:name="com.google.firebase.MESSAGING_EVENT"/>
</intent-filter>
</service>
我看到 MyFirebaseMessagingService
按预期被调用,但是我也看到 MyPushReceiver
通过 com.google.android.c2dm.intent.RECEIVE
意图操作被调用。
是否保证 com.google.android.c2dm.intent.RECEIVE
会继续被 Firebase 调用?也许 Google 在 GCM 完全弃用之前暂时保留此功能。
*注意:理想情况下,我希望在我的清单中保留现有的 MyPushReceiver
,以便与我支持的可能位于 FCM 或 GCM 上的众多应用程序向后兼容。
这只是预期的行为。因为即使使用 FCM 发送消息,devices/app 个仍然具有 GCM 实现的实例仍然能够接收消息。
实际上无法判断它是否得到保证(至少对我来说不是),但我想可以肯定地说它们将继续compatible 直到 Google 决定完全弃用它。