【问题标题】:how to access remaining time of battery in android如何在android中访问电池的剩余时间
【发布时间】:2014-05-14 17:59:14
【问题描述】:

我正在做一个计算电池电量的项目

IntentFilter ifilter = new IntentFilter(Intent.ACTION_BATTERY_CHANGED);
        batteryStatus = this.registerReceiver(null, ifilter);
        level = batteryStatus.getIntExtra(BatteryManager.EXTRA_LEVEL, -1); 

使用此代码,我可以知道当前的电池电量是多少。 我想知道,查找和显示我的项目,在这个电池剩余水平与正在运行的服务中,电池的剩余时间是多少小时和分钟 如果我正在听歌、播放视频或访问互联网,那么剩余的电池时间将是多少。 如果手机处于待机模式等,电池剩余时间是多少

那么有什么建议我该如何计算呢?

【问题讨论】:

标签: android


【解决方案1】:

不幸的是,解决方案并不是一个简单的答案。

没有真正的方法来计算当前电池充电还剩多长时间,应用可能在不同时间使用不同的电量,这意味着剩余时间的计算可能存在偏差。

我可以看到您生成可靠时间的唯一方法是尽可能多地对电池进行采样并保持时间偏移量与已放电的电池量。在获得足够的样本后,您将能够更好地估计在 x 分钟内放电的电池量。

编辑:为了扩展一点,您可能会得到一个更新 (A),然后是另外两个更新 (B,C)。这些更新可以将时间存储在某种集合中,然后您可以使用逻辑计算从已存储的样本生成的时间之间的平均损失。

这个解决方案仍然不能给出完全准确的结果。

【讨论】:

  • 但我可以在一部手机上采样,而不是在每部手机上进行采样
  • 没错,但是您的应用可以保存当前运行时的数据,并尽最大努力为当前用户计算平均值。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-02-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多