使用 BroadcastReceiver 在后台启动 IntentService

Starting an IntentService at Background with a BroadcastReceiver

我正在编写一个带有 IntentService 的应用程序,它会在工作完成时发送自定义 Intent。这会启动其他一些 IntentService。

为此,我在 MainActivity 中使用了 BroadcastReceiver。

我的问题是,如果 MainActivity 进入后台,onStop,BroadcastReceiver 是否仍然有效?如果不行,我可以用 BroadcastReceiver 启动一个新的 IntentService 吗?我的意思是,由于 IntentService 在工作完成后停止,那么带有 BroadcastReceiver 的 IntentService 会一直工作到 MainActivity onStart 吗?

将广播接收器注册到android框架后,无论您的应用程序运行在后台还是前台,广播都会发送到您的应用程序。

如果你在AndroidMinifest.xml中注册了Broadcast receiver,即使你的App已经停止或销毁,当广播到来时,App的receiver会重新加载。