1

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 を返す) をする人がいましたが、彼が望む答えは得られませんでした!

4

0 に答える 0