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

0 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);
Run Code Online (Sandbox Code Playgroud)

如果我需要做更多的事情,请告诉我.


添加更多信息:

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

kab*_*uko 5

该文档PACKAGE_ADDED状态:

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

您无法修改它,或尝试向其添加标志.从3.1发行说明:

请注意,系统将FLAG_EXCLUDE_STOPPED_PACKAGES添加到所有广播意图.

以及来自FLAG_EXCLUDE_STOPPED_PACKAGES的文档

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

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