监控Android电池电量没有轮询?

时间:2013-10-30 15:55:47

标签: android

我想监控Android电池电量,即使它被改变了一个百分点。 应满足以下两个条件:

1-由于效率问题,我不想通过轮询或定期检查电池电量(不使用报警管理器,处理程序或任何其他导致轮询的方式)

2-另一方面,即使我的申请没有,我也需要接收电池电量的变化 在前台或是否被杀死。

目前我正在使用此代码:

IntentFilter ifilter = new IntentFilter(Intent.ACTION_BATTERY_CHANGED);
context.registerReceiver(new MyBatteryReceiver(), ifilter);

直到上下文(或我的活动)活着,即MyBatteryReceiver收到更改后才能正常工作 电池电量。

其他人建议在registerReceiver中使用null:

context.registerReceiver(null, ifilter);

此解决方案意味着我应该定期检查电池电量。

我查了很多帖子,包括这个帖子:

Android access battery stats or monitoring battery level through manifest

但他们都没有回答这个问题:如何在没有轮询的情况下监控Android电池电量? 当然,当等级太低或太高时,我们可以使用以下广播:

<action android:name="android.intent.action.ACTION_BATTERY_LOW"/>
<action android:name="android.intent.action.ACTION_BATTERY_OKAY"/>

不幸的是,不可能使用类似的广播来改变电池电量:

<action android:name="android.intent.action.BATTERY_CHANGED" />

0 个答案:

没有答案