首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在android中获取电池剩余时间

如何在android中获取电池剩余时间
EN

Stack Overflow用户
提问于 2014-05-14 17:46:16
回答 1查看 1.8K关注 0票数 5

我正在做一个项目,其中我计算了电池的电量

代码语言:javascript
复制
IntentFilter ifilter = new IntentFilter(Intent.ACTION_BATTERY_CHANGED);
        batteryStatus = this.registerReceiver(null, ifilter);
        level = batteryStatus.getIntExtra(BatteryManager.EXTRA_LEVEL, -1); 

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

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

EN

回答 1

Stack Overflow用户

发布于 2014-05-14 17:59:14

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

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

我能看到你产生一个比较可靠的时间的唯一方法是尽可能多地采样电池,并将时间偏移量与放电的电池量保持在一起。在足够的样本之后,您将能够更好地估计在x分钟内放电的电池数量。

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

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

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23651075

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档