我注册了一个监听网络事件的接收器:
<receiver
android:label="NetworkConnection"
android:name=".ConnectionChangeReceiver" >
<intent-filter >
<action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
</intent-filter>
</receiver>
Run Code Online (Sandbox Code Playgroud)
接收器也很简单:
public class ConnectionChangeReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo activeNetInfo = connectivityManager.getActiveNetworkInfo();
if (activeNetInfo != null) {
Log.v("@@@","Receiver : " + activeNetInfo);
} else {
Log.v("@@@","Receiver : " + "No network");
}
}
}
Run Code Online (Sandbox Code Playgroud)
问题是,当连接Wifi时,我连续收到3条相同的消息,如下所示:
Receiver : NetworkInfo: type: WIFI[], state: CONNECTED/CONNECTED, reason: (unspecified), extra: (none), roaming: false, failover: false, isAvailable: true
Receiver : NetworkInfo: type: …
Run Code Online (Sandbox Code Playgroud)