PACKAGE_ADDED的广播接收器无法从Android 3.1开始工作

时间:2011-12-15 04:58:59

标签: android broadcastreceiver

我无法启动作为STOPPED应用程序一部分的广播接收器, 我在广播接收器中注册了PACKAGE_ADDED事件,应用程序正常工作到3.0但是3.1以上我正面临这个问题。我使用以下行发送意图。

    Intent intent = new Intent(MY_INTENT_ACTION);
    intent.addFlags(Intent.FLAG_INCLUDE_STOPPED_PACKAGES);
    sendBroadcast(intent);

如果我需要做更多其他事,请告诉我。


添加更多信息:

我的意图是我想听PACKAGE_ADDED广播事件和Perfrom一些处理我的OnReceive,请告诉我是否有可能在没有启动应用程序的情况下监听此事件。获得此代码的示例代码会很有帮助。感谢

1 个答案:

答案 0 :(得分:5)

PACKAGE_ADDED州的

The docs

  

这是受保护的意图,只能由系统发送。

您无法修改它,或尝试向其添加标记。来自release notes for 3.1

  

请注意,系统会将FL​​AG_EXCLUDE_STOPPED_PACKAGES添加到所有广播意图中。

以及FLAG_EXCLUDE_STOPPED_PACKAGES

的文档
  

如果设置,此意图将不匹配当前已停止的包中的任何组件。如果未设置,则默认行为是在结果中包含此类应用程序。

所有这些意味着您的应用将无法像以前那样运作。您必须确保您的应用已启动才能接收PACKAGE_ADDED。