理论上是电压从4200mv到2800mv之间的比例,(现在的电压-2800mv)/(4200mv-2800mv)*100%但实际上,这并不是线性关系,
如果你将framework的pm上的电压直接加上的话,你可以看到线性图是一上一下,像股票一样,震荡下跌,到差不多的时间后,在3400mv左右直接空降到2800mv,然后就自动关机。
so,android会自动测量以往的平均电压情况,然后均值下滑,到3400mv的时候就表示为红色。
大部分情况下,充放电次数多,数据会逐渐比较准确。
当然,不同型号的手机有不一样的实现。

解决方案 »

  1.   

    还有就是这个和使用情况有关,如果你将framework的pm上的电压直接加上的话,关闭屏幕,关闭wifi之后,电压会迅速回升,开启后,电压又迅速下降。framework的config可以设定一个电池满电量值,比如1000mAh,这样进行平均测量,如果你的电池实际上是1400mAh,那样你会发现你的电量消耗会"变快"。大部分的测算剩余时间的软件,要不就是用平均取值测算耗电mA,要不就是直接用的数据库,看最近一段时间平均多少mV对应剩余多少时间,少数机型会有mA传感器可以直接准确测量电量。
      

  2.   

    呵呵,关键是电池电量返回的是一个0-100的数值啊,不是mah,还有怎么知道当前电池是多少mah的啊,这些信息去哪里获得呢?
      

  3.   

    你去那些牛人的blog里面求助一下比较靠谱
      

  4.   

    我只是一个玩安卓的  不过建议你解包一个人家现成的 apk 拿来研究下 岂不是方便很多  比如金山就有一个电池的软件  我没广告的意思 如有不合适 直接删除这个回复