android - Android广播接收器在应用程序未运行或未启动时甚至在运行时都不会触发
问题描述
即使应用程序未运行或在手机充电时未启动,我也在尝试执行后台任务。但是 onReceive 方法中的代码没有运行。
这是清单:
<receiver
android:name=".ChargingBroadcastReceiver"
android:enabled="true">
<intent-filter>
<action android:name="android.intent.action.ACTION_POWER_CONNECTED"/>
<action android:name="android.intent.action.ACTION_POWER_DISCONNECTED"/>
</intent-filter>
</receiver>
ChargingBroadcastReceiver 类:
class ChargingBroadcastReceiver : BroadcastReceiver() {
override fun onReceive(context: Context, intent: Intent) {
// This method is called when the BroadcastReceiver is receiving an Intent broadcast.
Toast.makeText(context.applicationContext, "Test", Toast.LENGTH_LONG).show()
Log.e("Test", "method onReceive()")
}
}
我不知道出了什么问题。
有什么方法可以触发这些操作(POWER_CONNECTED 和 POWER_DISCONNECTED)并在 onReceive 方法中运行后台任务,而无需直接从 App Launcher 启动或启动应用程序?
解决方案
推荐阅读
- python - 如果词性标签不存在,计数器返回空值
- r - 用地图替换for循环?
- ruby-on-rails - 与接受的嵌套属性的自关联
- r - 以不同的模式拆分文本中的数据
- r - 在 R 中绘制函数时出现奇怪的错误
- pact - 按端点分离提供者验证测试中的 Pact 交互
- android - 在android中获取json对象
- javascript - ECMASCRIPT6 Google 跟踪代码管理器错误:箭头函数
- python - 检查错误消息作为流控制的一种形式是 Python 中的一种好习惯吗?
- xamarin.forms - 启用链接时未构建 Xamarin Forms Release 版本的 Android