当我从启用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上使用的众多应用程序。
答案 0 :(得分:1)
这只是预期的行为。因为即使使用FCM发送消息,仍然具有GCM实现的设备/应用实例仍然可以接收消息。
It's just compatible。您不必实施两个单独的服务,只是为了确保该应用与GCM和FCM兼容。
实际上没有办法判断是否有保证(至少不适合我),但我想可以肯定他们会继续兼容,直到Google决定完全弃用它为止。