扩展
Firebase 服务类的类。 B) 我将这些类放在AndroidManifest.xml
中。public class MyFirebaseMessagingService extends FirebaseMessagingService {
@Override
public void onMessageReceived(RemoteMessage remoteMessage) {
//a) What's the life cycle of the service? How can I ensure this method is getting called?
//b) If the service is killed at some point, will system restart it on receiving new messages?
Log.d(TAG, "From: " + remoteMessage.getFrom());
}
}
B) AndroidManifest.xml
<service
android:name=".MyFirebaseMessagingService">
<intent-filter>
<action android:name="com.google.firebase.MESSAGING_EVENT"/>
</intent-filter>
</service>
然后,应用程序可以从FCM接收通知!
这里是我的问题:
谁启动了FirebaseMessagingService通知服务? 一定有某个地方调用了startService(),是吗?
我理解的是,下行通知将会传递到我的移动设备的Google Play服务,无论我的应用程序处于什么状态。 那么,在我的
app
或service
被swipe closed/killed/force stop
时,我能保证onMessageReceive()
被调用的程度有多大?相关的行为有没有文件记录?
编辑:
- 我更关心以下情况。我们来谈论一下
data message
。(相比于notification message
。) 我的客户端应用程序收到了FCM消息并显示默认通知,因为Google Play服务正在运行并将其发送到系统托盘。但是我的onMessageReceive()
没有被调用,因为MyFirebaseMessagingService
被系统杀死并且未重新启动。这可能吗?