mui*_*lpp 6 android firebase firebase-cloud-messaging
我最近更新了我的应用程序,通过FCM发送消息,当应用程序在Jelly Bean上运行时,它运行良好.问题是,它不是棒棒糖和应用程序在后台.
我阅读了文档,并指出当有效载荷是数据消息时,它将由onMessageReceived()处理.我发送数据有效负载,而不是通知,只要它是JellyBean就可以正确处理.对于Lollipop,它仅在应用程序位于前台时处理消息.如果没有,没有任何反应.
这就是我的FirebaseMessagingService的开头如下所示:
public class FirebaseBroadcastReceiverService extends FirebaseMessagingService {
private final String TAG = FirebaseBroadcastReceiverService.class.getName();
@Override
public void onMessageReceived(RemoteMessage message){
Log.i(TAG, "A message is received");
String from = message.getFrom();
Map<String, String> data = message.getData();
.....
}
}
Run Code Online (Sandbox Code Playgroud)
清单:
<application
android:name=".controller.application.AppResources"
android:allowBackup="true"
android:icon="@mipmap/ic_launcher_shadow"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@android:style/Theme.Black.NoTitleBar">
<service
android:name=".model.firebase.FirebaseListenerService">
<intent-filter>
<action android:name="com.google.firebase.INSTANCE_ID_EVENT"/>
</intent-filter>
</service>
<service android:name=".model.firebase.FirebaseBroadcastReceiverService">
<intent-filter>
<action android:name="com.google.firebase.MESSAGING_EVENT" />
</intent-filter>
</service>
.......
</application>
Run Code Online (Sandbox Code Playgroud)
有效载荷:
{
"data": {
"test": "test"
},
"to" : "MY FCM REGISTRATION ID"
}
Run Code Online (Sandbox Code Playgroud)
哪个通过POST发送到https://fcm.googleapis.com/fcm/send,其中包含Authorization和Content-type标头.
我可能已经阅读了与此相关的所有其他SO线程,但我找不到它的答案,并且Android Monitor中也没有日志跟踪.有人对此有暗示吗?
| 归档时间: |
|
| 查看次数: |
8477 次 |
| 最近记录: |