问题描述
FirebaseMessagingService
是否在后台运行,类似于IntentService
的运行方式?
Does the FirebaseMessagingService
run in the background similar to how an IntentService
operates?
我看到FirebaseMessagingService
扩展区Service
不在后台运行,但是我想确定是否应该异步或同步地在FirebaseMessagingService
内部进行任何工作.
I see that FirebaseMessagingService
extents Service
which does not run in the background, but I'd like to be sure whether or not I should be doing any work inside the FirebaseMessagingService
asynchronously or synchronously.
谢谢
推荐答案
FirebaseMessagingService
的方法onMessageReceived(RemoteMessage message)
被称为在后台"(不在UI/Main线程上).如果尝试在onMessageReceived(RemoteMessage message)
内部执行异步工作,则会收到一条错误消息:
FirebaseMessagingService
's method onMessageReceived(RemoteMessage message)
is called "in the background" (not on the UI/Main thread). If you try do asynchronous work inside onMessageReceived(RemoteMessage message)
you will receive an error saying:
因此,在onMessageReceived(RemoteMessage message)
中完成的所有工作都应同步完成,因为它在其自己的后台工作线程中.
So all work that is done within onMessageReceived(RemoteMessage message)
should be done synchronously because it's in its own background worker thread.
这篇关于FirebaseMessagingService是否默认在后台运行?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!