FirebaseMessagingService onreceivemessage()未被调用

时间:2017-12-10 07:48:23

标签: android firebase firebase-cloud-messaging

我已经在我的应用上从GCM迁移到了FCM,

现在我无法接收FCM。

我使用了firebase助手,将应用程序连接到firebase好了并使用了这个依赖

dependencies {
    compile 'com.google.firebase:firebase-messaging:11.6.2'
}

AndroidManifest:

       <service android:name="com.galcomm.mobik.Service.FCMTokenRefreshListenerService">
        <intent-filter>
            <action android:name="com.google.firebase.INSTANCE_ID_EVENT" />
        </intent-filter>
    </service>
    <service android:name="com.galcomm.mobik.Service.FCMPushReceiverService">
        <intent-filter>
            <action android:name="com.google.firebase.MESSAGING_EVENT"/>
        </intent-filter>
    </service>

RefreshToken服务:

public class FCMTokenRefreshListenerService extends FirebaseInstanceIdService {

//If the token is changed registering the device again
@Override
public void onTokenRefresh() {
    String refreshedToken = FirebaseInstanceId.getInstance().getToken();
    Log.d("fcm", "Refreshed token: " + refreshedToken);
    sendRegistrationToServer(refreshedToken);
}

private void sendRegistrationToServer(String refreshedToken) {
    Log.e("FCMTOKEN : ",refreshedToken);

}
}

和FirebaseMessaging服务

public class FCMPushReceiverService extends FirebaseMessagingService {

@Override
public void onMessageReceived(RemoteMessage message){
    String from = message.getFrom();
    Log.e("FCMTOKEN ","NMSG_REC : "+from);
    String title = message.getNotification().getTitle();
    String body = message.getNotification().getBody();
    Map data = message.getData();
    sendNotification(from, data);
}}

现在我可以获得令牌了,但是当我在Firebase控制台测试通知上尝试它时,它说完了,但它没有转到OnMessageReceived或放置通知,我尝试使用数据有效负载,而不是像其他提出的问题,但不是这样。

编辑:

当我尝试发送它时,它表示已完成,但下次我尝试使用相同的令牌时,它在firebase控制台和pushtry.com中都显示InvalidToken

编辑2:

当我尝试发送fcm时,我在logcat上发现了一个错误:

broadcast intent callback: result=CANCELLED forIntent { act=com.google.android.c2dm.intent.RECEIVE

我在这里缺少什么?

任何帮助都会很好,提前致谢

0 个答案:

没有答案
相关问题