【问题标题】:Since when is the phone charging/discharging从什么时候开始手机充电/放电
【发布时间】:2012-08-06 22:57:27
【问题描述】:

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

首先,我想我会在我的 BoradcastReciever 扩展类中创建两个静态字段,我可以在其中获取和发布有关电池的数据,一个用于实际状态(充电/放电),一个用于时间,当发生变化时在状态发生。这样,我可以从当前时间中减去最后一次更改,并准确知道手机从什么时候开始充电/放电。

但是这个解决方案有一个问题:当用户启动应用程序时,它一开始不会显示正确的数据。我不会大惊小怪,但我看到 Android 在某处跟踪这些数据,因为在我的手机设置中我找到了这些信息,所以为什么要采取艰难的方式。

所以我的问题是: 有没有一种简单的方法可以从 Android 系统中获取上次充电状态更改的日期/时间(无论是什么格式)?

我查看了BatteryManager reference,但没有以我寻求的内容命名的常量,我可以使用它来从接收者的 Intent 中获取信息。

【问题讨论】:

    标签: java android battery


    【解决方案1】:

    Android 操作系统会跟踪电源的连接/断开,但不会让应用访问这些数据。你必须自己记录这一切,使用意图过滤器。

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

    您可以找到有关此过程的信息here。另一个描述该过程的博客可以找到here

    【讨论】:

    • 谢谢你,你真的很快! :) Stackowerflow 允许我尽快接受您的回答。
    • 一点也不着急!很高兴你得到了你需要的东西。 :)
    • 一开始我没有阅读你的全部答案,我很高兴,我只关注意图名称:D 所以你说,我将不得不手动监控这些变化,并跟踪正如我在问题中提到的那样,它们发生的时间?
    • 是的!而且,当第一次安装应用程序时,你不会有任何数据,所以你必须(非常礼貌地)告诉用户给他们的手机充电以使统计数据正常工作。
    猜你喜欢
    • 1970-01-01
    • 2012-05-06
    • 1970-01-01
    • 2013-03-11
    • 2016-12-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多