从什么时候开始充电/放电

时间:2012-08-06 22:57:28

标签: java android battery

我想了解有关Android服务/广播的更多信息,因此我开始了一个简单的项目,以创建一个电池监控应用程序。结果非常好,我现在已经使用了几天,但是我想添加一个新功能:显示从什么时候手机充电/放电。

首先我认为我会在我的BoradcastReciever扩展类中创建两个静态字段,在那里我获取并发布有关电池的数据,一个用于实际状态(充电/放电),一个用于时间,当更改时在状态发生了。这样,我可以从当前时间中减去最后一次更改,并确切地知道手机何时充电/放电。

但是这个解决方案存在一个问题:当用户启动应用程序时,它不会首先显示正确的数据。我不会做太多的事情,但我看到Android在某处跟踪这些数据,因为在我的手机设置中我发现了这些信息,所以为什么要采取这种方式。

所以我的问题是: 是否可以轻松地从Android系统获取上次充电状态更改的日期/时间(无论采用何种格式)?

我查看了BatteryManager reference,但是没有以我寻求的方式命名的常量,我可以使用它来从我的接收器的意图中获取信息。

1 个答案:

答案 0 :(得分:1)

Android操作系统会跟踪电源的连接/断开连接,但不会使应用程序可以访问此数据。您必须使用意图过滤器自己录制。

要使用的两个意图过滤器是android.intent.action.ACTION_POWER_CONNECTEDandroid.intent.action.ACTION_POWER_DISCONNECTED;通过这些,您可以监控电源何时连接和断开。

您可以非常清楚地找到有关此流程的信息here。另一篇描述该过程的博客可以找到here