1

アプリケーションを作成しましたが、バッテリーの消費量を知りたいです。

スマートフォン(ACER Liquid Mt)でテストしていますが、バッテリーマネージャーを介してバッテリーレベルを1%の精度でしか読み取ることができません。

パーセンテージを 1% 減少させるには、多くの実行が必要です。私の質問は次のとおりです。より正確なバッテリー レベルを取得することは可能で、バッテリー レベルは信頼できますか?

ソフトウェアのバッテリーレベルがあまり正確ではないということをいくつか読みました。

4

1 に答える 1

1

パーセンテージを 1% 減少させるのに多くの実行が必要ですが、それが不正確であることを意味するわけではありません。バッテリーが非常に耐久性がある可能性があります。また、パーセンテージであるため、バッテリー電力の 1% が大量のエネルギーになる可能性があります。

バッテリー レベルを取得するために、BroadcastReceiver を使用します。試してみて、十分に正確かどうかを確認してください。

class BatteryLifeBroadcastReceiver extends BroadcastReceiver {
    public void onReceive(Context context, Intent intent) {
        if (Intent.ACTION_BATTERY_CHANGED.equals(intent.getAction())) {

            int level = intent.getIntExtra("level", 0);
            int scale = intent.getIntExtra("scale", 100);

            int batteryLevel = (float) level / scale;
            // use batteryLevel...
        }
    }
} 

// register the receiver in Activity.onResume()
registerReceiver(mBatteryLifeBroadcastReceiver, new IntentFilter(Intent.ACTION_BATTERY_CHANGED));
// unregister it in Activity.onPause()
unregisterReceiver(mBatteryLifeBroadcastReceiver);
于 2012-05-13T09:12:40.573 に答える