2

レベルが変化したときだけバッテリーレベルを取得する方法はありますか?

使用してバッテリー情報を取得する方法を知ってIntent.ACTION_BATTERY_CHANGEDおり、そのバッテリーレベルを最後のバッテリーレベル(以前に保存したもの)と比較します。

ACTION_BATTERY_CHANGEDまた、(レベルだけでなく)バッテリー情報が変化したときに発生することも知っているので、レベルを確認する必要があります。理由はわかりませんが、うまくいかないことがあります。

それを行うより良い方法はありますか?

4

1 に答える 1

4

バッテリーレベルを取得する他の (文書化された) 方法はありません。レベルが変わらないときはブロードキャストを無視してください。あなたがすでにそうしているように。

次の方法で、最新のステータスをすぐに取得できます。

IntentFilter batIntentFilter = new IntentFilter(Intent.ACTION_BATTERY_CHANGED);
Intent battery = this.registerReceiver(null, batIntentFilter);
int level = battery.getIntExtra(BatteryManager.EXTRA_LEVEL, -1);
Log.d("TAG", "Current Level: " + level);
于 2012-05-22T19:45:23.670 に答える