从任务管理器关闭应用程序后,参考广播接收器在棒棒糖中不起作用
请看以下内容,
Android广播接收器未在应用程序关闭时执行
我还认为您可能想了解如何设置优先级。请阅读以下内容,
AndroidManifestIntentFilter_priority
int AndroidManifestIntentFilter_priority 指定处理特定 Intent 的相对重要性或能力。对于接收者,这控制它们执行接收广播的顺序(请注意,对于异步广播,此顺序被忽略)。对于活动,这提供了有关活动处理意图的程度的信息;当多个活动匹配一个意图并具有不同的优先级时,只有具有较高优先级值的活动才会被视为匹配。
仅当您确实需要强加接收广播的某些特定顺序,或者想要强制放置活动以始终优先于其他活动时才使用。该值是一个整数,数字越大越好。
必须是整数值,例如“100”。
这也可能是对包含此类型值的资源(形式为“@[package:]type:name”)或主题属性(形式为“?[package:][type:]name”)的引用.
这对应于全局属性资源符号优先级。
常数值:2 (0x00000002)
正如我尝试使用的各种帖子和博客所建议的那样
- Intent.Flag_Include_Stopped_Packages
- 清单中的接收器 android:process=":remote"
- 清单中的接收器 android:exported="true"
In Manifest:
<receiver android:name=".BroadcastReceiver" android:enabled="true"
android:exported="true"
android:process=":remote">
</receiver>
并根据Android 8.0 的行为变化
后台执行限制
作为 Android 8.0(API 级别 26)为延长电池寿命而引入的更改之一,当您的应用进入缓存状态且没有活动组件时,系统会释放应用持有的任何唤醒锁。
此外,为了提高设备性能,系统会限制未在前台运行的应用程序的某些行为。具体来说:
- 在后台运行的应用程序现在对它们访问后台服务的自由度有限制。
- 应用程序不能使用它们的清单来注册大多数隐式广播(即不是专门针对应用程序的广播)。默认情况下,这些限制仅适用于以 O 为目标的应用程序。但是,用户可以从“设置”屏幕为任何应用程序启用这些限制,即使该应用程序没有以 O 为目标。
Android 8.0(API 级别 26)还包括对特定方法的以下更改:
- 如果面向 Android 8.0 的应用尝试在不允许创建后台服务的情况下使用该方法,则 startService() 方法现在会引发 IllegalStateException。
- 新的 Context.startForegroundService() 方法启动前台服务。即使应用在后台,系统也允许应用调用 Context.startForegroundService()。但是,应用程序必须在服务创建后五秒内调用该服务的 startForeground() 方法。
有关详细信息,请参阅后台执行限制。
剪贴板管理器
剪贴板服务的接口,用于在全局剪贴板中放置和检索文本。
ClipboardManager API 本身非常简单:它包含以原子方式获取和设置当前主要剪贴板数据的方法。该数据表示为 ClipData 对象,该对象定义了应用程序之间的数据交换协议。
有关更多信息,请访问一次https://developer.android.com/reference/android/content/ClipboardManager