应用程序终止后,广播接收器不接收

alo*_*loj 5 android broadcastreceiver

我创建了一个广播接收器来管理这些事件(ACTION_SCREEN_ON、ACTION_SCREEN_OFF 和 ACTION_USER_PRESENT)。我在我的主要活动中像这样注册我的广播接收器

IntentFilter filter = new IntentFilter(Intent.ACTION_SCREEN_ON);
filter.addAction(Intent.ACTION_SCREEN_OFF);
filter.addAction(Intent.ACTION_USER_PRESENT);

mReceiver = new UnlockReceiver();


registerReceiver(mReceiver, filter);
Run Code Online (Sandbox Code Playgroud)

我的问题是 UnlockReceiver 在我的应用程序被终止后没有接收到(当我从应用程序选择器中滑动它时)。我有这个问题,因为这些广播不能在清单上声明我已经尝试使用服务和警报管理器解决它。我该如何解决?

小智 0

从 Android 3.1 开始,系统的包管理器会跟踪处于停止状态的应用程序,并提供一种控制它们从后台进程和其他应用程序启动的方法。

\n\n

请注意,应用程序的停止状态与活动的停止状态不同。系统分别管理这两个停止状态。

\n\n

该平台定义了两个新的意图标志,让发送者指定是否应允许该意图激活已停止的应用程序中的组件。

\n\n

FLAG_INCLUDE_STOPPED_PACKAGES \xe2\x80\x94 将已停止的应用程序的意图过滤器包含在要解析的潜在目标列表中。\nFLAG_EXCLUDE_STOPPED_PACKAGES \xe2\x80\x94 从潜在目标列表中排除已停止的应用程序的意图过滤器。\n当两者都不或全部都存在时这些标志是在意图中定义的,默认行为是在潜在目标列表中包含已停止应用程序的过滤器。

\n\n

https://developer.android.com/about/versions/android-3.1.html

\n