アプリケーションを作成しましたが、バッテリーの消費量を知りたいです。
スマートフォン(ACER Liquid Mt)でテストしていますが、バッテリーマネージャーを介してバッテリーレベルを1%の精度でしか読み取ることができません。
パーセンテージを 1% 減少させるには、多くの実行が必要です。私の質問は次のとおりです。より正確なバッテリー レベルを取得することは可能で、バッテリー レベルは信頼できますか?
ソフトウェアのバッテリーレベルがあまり正確ではないということをいくつか読みました。
アプリケーションを作成しましたが、バッテリーの消費量を知りたいです。
スマートフォン(ACER Liquid Mt)でテストしていますが、バッテリーマネージャーを介してバッテリーレベルを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);