0
バッテリーブロードキャストイベントを待ち受けようとしています。プラグを差し込んだ/取り外した。バッテリーブロードキャストがステータスコードを送信しない
public class BatteryReceiver extends BroadcastReceiver {
public BatteryReceiver() {
}
@Override
public void onReceive(Context context, Intent intent) {
int status = intent.getIntExtra(BatteryManager.EXTRA_STATUS, -1);
if(status == BatteryManager.BATTERY_STATUS_CHARGING){
Toast.makeText(context, "Charging", Toast.LENGTH_SHORT).show();
} else if(status == BatteryManager.BATTERY_STATUS_DISCHARGING || status == BatteryManager.BATTERY_STATUS_NOT_CHARGING){
Toast.makeText(context, "Not charging", Toast.LENGTH_SHORT).show();
}
}
}
私はマニフェストアクション追加しました:あなたはそれが唯一のアンプラグド/プラグインされたときに追跡したい場合は
<receiver
android:name=".BatteryReceiver"
android:enabled="true"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.ACTION_POWER_CONNECTED" />
<action android:name="android.intent.action.ACTION_POWER_DISCONNECTED" />
</intent-filter>
</receiver>
最初のものは私のために働いてくれてありがとう、歓声!しかし、2番目のものは常に-1を返します。 –
@GurleenSethi私は答えを..更新しました。現在は動作しています – W0rmH0le
@GurleenSethi更新された回答をテストしましたか?可能であれば、結果を教えてください!おかげで – W0rmH0le