每隔n秒检索Android电池指标[有效]

时间:2012-06-25 23:11:51

标签: java android

我找到了许多用于监控电池电量的来源,但没有一个描述如何以固定的时间间隔进行检查。假设我想每隔n秒检查一次电池。最有效的方法是什么?

目前,我创建了一个BroadcastReceiver并使用过滤器在我的服务中注册它。然后我使用ScheduledExecutor从电池“获取”信息。如果我理解正确的是什么,我制作的BroadcastReceiver接收来自电池的所有广播而不是动态速率,而不是我要检查的恒定速率。

当我创建BroadcastReceiver时,它会收到带有当前信息的“初始”消息。每隔一段时间创建一个接收器对象,接收这条初始消息,然后每次我想检查它时都会销毁它会更有效吗?或者,有没有我想过的不同方式?

我用来监控电池的来源,以防有人感兴趣:

1 个答案:

答案 0 :(得分:2)

  

假设我想每隔n秒检查一次电池。最有效的方法是什么?

除非在数百或数千秒内测量n,否则您很可能成为电池寿命的第一消费者。鉴于你的评论,我会假设你的意思是“每n分钟”。

步骤1:设置AlarmManager时间表,每隔IntentService分钟调用一次n(最好不要使用_WAKEUP闹钟类型)。

步骤2:在IntentService中,使用registerReceiver() nullBroadcastReceiver IntentFilter来呼叫ACTION_BATTERY_CHANGED。返回值将是此事件的最后一次Intent广播。

步骤3:对数据做点什么。