其实并不太想写这边文章。因为算出的数据不是太高准确,但是可能有人有需求,就写上一些求全的办法吧。在此要说上一句,目前并没有能十分准确的算出电池时间(比如说金山和腾讯的电池管家,经过反编等手段,证实用的是写死的假数据。也就呵呵了) ,我们所做的只是说大概的估算时间
想计算电池的剩余使用时间,就得得到电池的单位时间的消耗,即(硬件消耗+软件消耗)
首先是硬件消耗,这个很简单(不一定准确,但是也找不到其他方法。至于为什么看我另一片文章)
代码里写上
PowerProfile powerProfile=new PowerProfile(TAG());
double total =powerProfile.getAveragePower(powerProfile.POWER_SCREEN_ON) +powerProfile.getAveragePower(powerProfile.POWER_CPU_ACTIVE));
单位:每小时total毫安
(这里得到的是手机开启屏幕,cpu处于活动状态的硬件消耗,你可以自己根据实际情况写)(关于这个方法的原理,以及如何成功实现,请看我的另一篇文章http://blog..net/lchben/article/details/49022633,不想再写一遍了)
然后接着是软件消耗,这个很麻烦,4.4以前的手机可以使用这个方法i,是参考的手机设置里面的电量消耗,网上已经有人把这个提取出来了,我加了点注释,有需要的可以看看
(4.4及4.4以上是无效的)
http://download..net/detail/lchben/9195959
5.0 的电池api暂时没找到相关的(也可能没有了)
把硬件消耗和软件消耗加起来就是总的消耗了
用电池容量/消耗=时间,
电池容量的获取方法在我博客又说http://blog..net/lchben/article/details/49022633 自己看看吧;
(算出来的时间能看得过去,忽悠人还是可以得。)