JN-DK01ベース端末のバッテリー情報について
素のAndroidの場合、内部で保持しているバッテリー情報は1%刻みで持っていますが。JN-DK01ベースの端末*1の場合は10%刻みで保持しているようです。
保持の仕方も、例えばバッテリー残量が80%から70%になった場合と60%から70%になった場合で、内部に保持されるデータが同じになります。70%を保持してる際に、71%から70%になろうが69%から70%になろうが内部保持データは変わりません。
一見自然に見えますが、つまり内部的にバッテリー残量が70%を示す場合、実際の残量範囲が79%から61%までと幅広いです。
妥協しながら範囲取得
10%刻みの範囲を判断するには、過去バッテリー残量を保持すして判断するしかなさそうです。
バッテリー範囲 | コールされるバッテリー残量 | 過去バッテリー残量 |
---|---|---|
100-090 | 100 | - |
100-090 | 090 | 080 |
090-080 | 090 | 100 |
090-080 | 080 | 070 |
080-070 | 080 | 090 |
080-070 | 070 | 060 |
070-060 | 070 | 080 |
070-060 | 060 | 050 |
060-050 | 060 | 070 |
060-050 | 050 | 040 |
050-040 | 050 | 060 |
050-040 | 040 | 030 |
040-030 | 040 | 050 |
040-030 | 030 | 020 |
030-020 | 030 | 040 |
030-020 | 020 | 010 |
020-010 | 020 | 030 |
020-010 | 010 | 000 |
010-000 | 010 | 020 |
010-000 | 000 | - |
ただし、途中で充電された場合は範囲から外れてしまいます。
他の端末でも同じ現象が?
Milestoneもまったく同じようです。