有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java手机何时开始充电/放电

我想了解更多关于Android服务/广播的信息,所以我开始了一个简单的项目,创建一个电池监控应用程序。结果很好,我已经用了几天了,但我想添加一个新功能:显示手机何时开始充电/放电

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

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

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

我查看了BatteryManager reference,但没有以我寻找的内容命名的常量,我可以使用这些常量从接收者的意图中获取信息


共 (1) 个答案

  1. # 1 楼答案

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

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

    你可以找到关于这个过程的信息,解释得非常清楚。另一个描述这个过程的博客可以在here找到