BatteryManagerに基づいてアプリを作成しています。しかし、すべてBATTERY_PROPERTY
が0を返します。これが私のコードです:
if(Build.VERSION.SDK_INT >=21){
BatteryManager bm = (BatteryManager) MainActivity.this.getSystemService(Context.BATTERY_SERVICE);
int remainingCapacityRatio = bm.getIntProperty(BatteryManager.BATTERY_PROPERTY_CAPACITY);
//print it
int batteryCapacityMicroAh = bm.getIntProperty(BatteryManager.BATTERY_PROPERTY_CHARGE_COUNTER);
//print it
int dischargingTimeSeconds = bm.getIntProperty(BatteryManager.BATTERY_PROPERTY_CURRENT_AVERAGE);
//print it
int currentNow = bm.getIntProperty(BatteryManager.BATTERY_PROPERTY_CURRENT_NOW);
//print it
long energyCounter = bm.getIntProperty(BatteryManager.BATTERY_PROPERTY_ENERGY_COUNTER);
//print it
}
を使用getLongProperty()
しても、固定値しか得られません。
私はBATTERY_STATS
許可を持っています(そしてIntent.ACTION_BATTERY_CHANGED
、それは必要ありませんが)。
そしてもう1つ:現在のバッテリー容量(合計ではなく現在)を取得する方法を誰か教えてもらえますか?上記の私のコードはそれを行うことができますか?
編集 1:最初のもの ( remainingCapacityRatio
) は動作しますが、残りの 4 つが必要です!
編集 2:同じ質問 (すべてのプロパティ取得呼び出しに対して Android BatteryManager が 0 を返す) をする人がいましたが、彼が望む答えは得られませんでした!