Намерение CONNECTIVITY_ACTION получено дважды при подключении Wi-Fi

В моем приложении есть BroadcastReceiver , который запускается как компонент через тег , фильтруя ] android.net.conn.CONNECTIVITY_CHANGE намерения.

Моя цель - просто узнать, когда было установлено соединение Wi-Fi, поэтому в onReceive () я делаю следующее:

NetworkInfo networkInfo = intent.getParcelableExtra(ConnectivityManager.EXTRA_NETWORK_INFO);
if(networkInfo.getType() == ConnectivityManager.TYPE_WIFI && networkInfo.isConnected()) {
    // Wifi is connected
}

Он работает нормально, но мне всегда кажется, что я получаю два одинаковых намерения. примерно в течение одной секунды после установления соединения Wi-Fi. Я попытался просмотреть любую информацию, которую смог получить из намерения, ConnectivityManager и WifiManager , но не смог найти ничего, что отличало бы эти два намерения.

log есть по крайней мере еще один BroadcastReceiver , который также принимает два идентичных намерения.

Он работает на HTC Desire с Android 2.2

Любая идея, почему мне кажется, что я получаю «дублированный» намерение при подключении Wi-Fi или какая разница между ними?

50
задан naXa 27 July 2016 в 21:41
поделиться