发送邮件时收到的意图操作是什么?

时间:2017-03-09 23:04:08

标签: android firebase google-cloud-messaging firebase-cloud-messaging

当我从启用Firebase的项目发送消息时,会触发哪些意图操作?

我的清单如下:

<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继续调用MyPushReceiver?也许Google在此期间保留了此功能,直到GCM完全弃用为止。

*注意:理想情况下,我希望将现有的<?php global $wpdb; $wpdb->show_errors(); If($_POST['Submit']) { $aarstal=$_POST['aarstal']; If (strlen($aarstal) ==0) { $aarstal=date("Y"); } } ?> <form action="" method="post" id="form"> <table style="border:none;"> <tr> <td style="border:none;"><?php echo $aarstal; ?></td> </tr> <SELECT NAME="aarstal"> <option value="<?=$aarstal?>"><?php echo $aarstal ?></option> <option value="2017">2017</option> <option value="2016">2016</option> <option value="2015">2015</option> </select> <tr> <td style="border:none;"><input type="submit" name="Submit" id="formsubmit" value="Opdater"></td> </tr> </table> </form> 保留在我的Manifest中,以便向后兼容我支持的可以在FCM或GCM上使用的众多应用程序。

1 个答案:

答案 0 :(得分:1)

这只是预期的行为。因为即使使用FCM发送消息,仍然具有GCM实现的设备/应用实例仍然可以接收消息。

It's just compatible。您不必实施两个单独的服务,只是为了确保该应用与GCM和FCM兼容。

实际上没有办法判断是否有保证(至少不适合我),但我想可以肯定他们会继续兼容,直到Google决定完全弃用它为止。