В моем приложении есть 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 или какая разница между ними?