尋ねるバッテリレベルはnullを取得します。私は正常にレベルを取得しています。しかし、私には1つの問題があります。そして、それは私が最初にバッテリーレベルを取得しようとするとですヌルを取得します。 しかし、私が数秒後に尋ねると、正確なレベルが得られます。なぜこれが起こっているのか分かりません。ここでアンドロイド - 最初の時間は私がサービスからバッテリレベルを取得しようとしています
は、バッテリーの残量を取得するための私のコードです: -
String bLevel;
private String getBatteryLevel(){
BroadcastReceiver cBReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
context.unregisterReceiver(this);
int currentLevel = intent.getIntExtra(BatteryManager.EXTRA_LEVEL, -1);
int currentScale = intent.getIntExtra(BatteryManager.EXTRA_SCALE, -1);
int batteryLevel;
if (currentLevel >= 0 && currentScale > 0) {
batteryLevel = (currentLevel * 100)/currentScale;
bLevel = Integer.toString(batteryLevel) + " percent";
}
}
};
IntentFilter cIFilter = new IntentFilter(Intent.ACTION_BATTERY_CHANGED);
registerReceiver(cBReceiver, cIFilter);
return bLevel;
}
コードを参照してください。私はなぜ私が得るのかわからないnull私は初めて質問するときに私のバッテリーレベルです。助けてください
BroadcastReceiverをメソッドにパックしないことをお勧めします。 – Distjubo
または少なくとも登録を解除する... – Distjubo