BroadcastReceiver什么时候启用?

时间:2012-08-29 14:43:53

标签: android broadcastreceiver

如果我在我的应用程序清单中注册了BroadcastReceiver(例如,要通知网络更改),它什么时候开始通知?在设备启动时?或者是否需要手动启动应用程序?

1 个答案:

答案 0 :(得分:4)

当您的设备完全启动时,它会开始接收广播。但是,从Honeycomb(API Level 12)开始,您需要至少启动一次应用程序,以便启动收听广播。

在Honeycomb及以上版本中,当您安装应用程序时,框架会将其标记为 STOPPED_PACKAGE ,并且不包括用于侦听的广播接收器。但是一旦你启动你的应用程序一次,就会删除这样的标记,你可以去:)

作为替代方案,请尝试将标记Intent.FLAG_INCLUDE_STOPPED_PACKAGES设置为广播意图,以便包含已停止的那些包。

例如:

intent.setFlags(Intent.FLAG_INCLUDE_STOPPED_PACKAGES);