Android通过清单访问电池统计数据或监控电池电量

时间:2013-08-14 15:22:42

标签: android broadcastreceiver

我想检测每个百分比的电池更换。我尝试使用

创建服务
context.registerReceiver(this.myBatteryReceiver,new IntentFilter(Intent.ACTION_BATTERY_CHANGED));

但是当应用程序关闭时,服务将被终止。

我尝试在<action android:name="android.intent.action.BATTERY_CHANGED" />的清单中注册我的广播接收器,但文档说:

  

只有通过使用Context.registerReceiver()显式注册它,才能通过清单中声明的​​组件接收到此内容。

即使应用已关闭,我该怎么做才能监控电池电量?

我已经看到了<uses-permission android:name="android.permission.BATTERY_STATS" />的许可。我可以用吗?如果是的话,怎么样?

1 个答案:

答案 0 :(得分:1)

  

即使应用已关闭,我该怎么做才能监控电池电量?

使用AlarmManager定期检查电池电量。您可以致电registerReceiver(null, new IntentFilter(Intent.ACTION_BATTERY_CHANGED));来检索上次广播ACTION_BATTERY_CHANGED Intent。允许用户控制轮询周期(例如,每分钟,每5分钟),并且可能不使用_WAKEUP警报,因此您只能在设备使用时检查电池电量。