gpt4 book ai didi

android - BroadcastReceiver 未从 ACTION_BATTERY_CHANGED 更新

转载 作者:行者123 更新时间:2023-11-29 16:36:18 25 4
gpt4 key购买 nike

我创建了自定义广播接收器来监听电池变化(我想监控电池的百分比水平)

但是我没有收到任何更新。这是我的设置:

class MyService : IntentService("MyService") {

val receiver: PowerConnectionReceiver = PowerConnectionReceiver()

override fun onHandleIntent(intent: Intent?) {
Timber.d("Service started now")
}

override fun onCreate() {
val batteryStatus: Intent? =
IntentFilter(Intent.ACTION_BATTERY_CHANGED).let { ifilter ->
registerReceiver(receiver, ifilter)
}

}

class PowerConnectionReceiver : BroadcastReceiver() {

override fun onReceive(context: Context, intent: Intent) {
val status: Int = intent.getIntExtra(BatteryManager.EXTRA_STATUS, -1)
Timber.d("Battery changed")
}
}
}

最佳答案

您将在 IntentService 运行的 < 1 毫秒时间内收到更新。一旦 onHandleIntent() 返回,您的 IntentService 就会关闭。 IntentService 专为短期事务性工作而不是长期操作而设计。

切换到常规服务。确保它是前台服务(使用 startForeground()),否则它只会在 Android 8.0+ 上运行 1 分钟。

关于android - BroadcastReceiver 未从 ACTION_BATTERY_CHANGED 更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52313498/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com