即使我的应用程序关闭,广播接收器也应该始终在后台运行



我是android开发的新手。我有一个用例是:

我的应用程序有广播接收器。广播接收器应该始终在后台运行,即使我的应用程序被关闭或从最近的应用程序中删除,也应该在后台运行。

这可能吗?

  1. 如果您有一个扩展BroadcastReceiver的类:您不需要在后台运行它。在AndroidManifest上声明它。它的onReceive()方法将始终在系统发送特定广播时调用(无论您的应用程序正在运行还是关闭(。

  2. 如果您谈论的是BroadcastReceiver对象:您应该创建一个后台服务。怎样扩展Service类。

BroadcastReceiver(接收器(是一个Android组件,允许您注册系统或应用程序事件。事件发生后,Android运行时会通知事件的所有注册接收器。

因此BroadcastReceiver不用于运行后台任务。

考虑一个例子,你必须调用一个web服务,完成服务后,如果应用程序在前台,你必须向用户显示一条消息。在这种情况下,您可以使用WorkManager调用web服务,然后调用BroadcastManager来显示消息,只有当应用程序处于forground时,我们才会注册该消息。当应用程序进入后台时,请注销接收器。

相关内容

最新更新