我正在做一个项目,其中我计算了电池的电量
IntentFilter ifilter = new IntentFilter(Intent.ACTION_BATTERY_CHANGED);
batteryStatus = this.registerReceiver(null, ifilter);
level = batteryStatus.getIntExtra(BatteryManager.EXTRA_LEVEL, -1); 使用这段代码,我可以知道当前的电池电量是多少。我想知道,查找和显示我的项目,在这个电池的剩余水平,正在运行的服务,电池的剩余时间是以小时和分钟为单位,如果我正在听歌,播放视频或访问互联网,那么电池的剩余时间将是什么。如果手机处于待机模式等,电池的剩余时间是多少?
那么有什么建议吗?我该如何计算呢?
发布于 2014-05-14 17:59:14
不幸的是,解决方案并不是一个简单的答案。
没有真正的方法来计算当前电池电量的剩余时间,应用程序可能在不同的时间使用不同的电量,这意味着在计算剩余时间时可能会有偏差。
我能看到你产生一个比较可靠的时间的唯一方法是尽可能多地采样电池,并将时间偏移量与放电的电池量保持在一起。在足够的样本之后,您将能够更好地估计在x分钟内放电的电池数量。
编辑:为了扩展一下,你可能会得到一个更新(A),然后是另外两个更新(B,C)。这些更新可以将时间存储在某种类型的集合中,然后您可以使用逻辑来计算从已存储的样本生成的时间之间的平均损失。
这个解决方案仍然不能给出一个完全准确的结果。
https://stackoverflow.com/questions/23651075
复制相似问题