在Android中发送广播会自动启动应用吗?

时间:2014-11-20 09:51:44

标签: android android-intent android-broadcast

我正在开发一个Android项目,其中服务需要发送包含数据(简称string)的广播到一个或多个活动这不是同一个应用程序的一部分,它们是不同的应用程序。

如果我发送的广播包含intent中的数据,那么接收广播的应用会自动启动,还是仅在用户启动活动时才会收到?

我个人需要的是发送数据的广播,然后只有当用户启动应用时,它才会从{{1}获取string数据}}

2 个答案:

答案 0 :(得分:1)

默认情况下,如果您发送广播意图,Broadcast Receivers(注册您的意图)将立即收到意图。

但是,要接收您的广播,您希望接收广播的应用程序应该为您的意图“注册”Boradcast Receiver(就像在android_manifest.xml中声明的那样,并在标记内部为您的意图进行了正确的操作映射)

请注意,广播永远不会创建活动/启动活动。它们被“广播接收器”接收,这是另一种类型

答案 1 :(得分:0)

在这种情况下,您可以让服务将String写入SharedPreference,然后发送广播。如果活动已经打开,它可以直接读取字符串。如果用户稍后打开活动,它可以检查SharedPreference中是否有任何内容,然后阅读它(然后将其清除,以便只读取一次)。