Я использую следующий код для получения событий Intent.ACTION_POWER_CONNECTED
и Intent.ACTION_POWER_DISCONNECTED
.
public class PowerChangedReceiver extends BroadcastReceiver {
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
if (action != null) {
if (action.equalsIgnoreCase(Intent.ACTION_POWER_CONNECTED)) {
// Do stuff
} else if (action.equalsIgnoreCase(Intent.ACTION_POWER_DISCONNECTED)) {
// Do other stuff
}
}
}
}
Он работает нормально. Однако каждый раз, когда я подключаю или выключаю зарядное устройство, события запускаются несколько раз (примерно восемь раз), что невыгодно для моего приложения.
Есть ли способ предотвратить получение BroadcastReceiver последующих подобных события, которые быстро развиваются в сроки? Я бы предпочел получать событие только один раз каждый раз, когда оно происходит.