Получите только одно событие ACTION_POWER_CONNECTED или ACTION_POWER_DISCONNECTED через BroadcastReceiver - PullRequest
0 голосов
/ 05 августа 2020

Я использую следующий код для получения событий 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 последующих подобных события, которые быстро развиваются в сроки? Я бы предпочел получать событие только один раз каждый раз, когда оно происходит.

...