我无法启动作为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,请告诉我是否有可能在没有启动应用程序的情况下监听此事件。获得此代码的示例代码会很有帮助。感谢
答案 0 :(得分:5)
PACKAGE_ADDED
州的
这是受保护的意图,只能由系统发送。
您无法修改它,或尝试向其添加标记。来自release notes for 3.1:
请注意,系统会将FLAG_EXCLUDE_STOPPED_PACKAGES添加到所有广播意图中。
以及FLAG_EXCLUDE_STOPPED_PACKAGES
的文档如果设置,此意图将不匹配当前已停止的包中的任何组件。如果未设置,则默认行为是在结果中包含此类应用程序。
所有这些意味着您的应用将无法像以前那样运作。您必须确保您的应用已启动才能接收PACKAGE_ADDED。