1 ##创建广播接受者
public class NetworkStateReceiver extends BroadcastReceiver {
private ConnectivityManager mConnectivityManager;
private NetworkInfo netInfo;
@Override
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
if (action.equals(ConnectivityManager.CONNECTIVITY_ACTION)) {
mConnectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
netInfo = mConnectivityManager.getActiveNetworkInfo();
if (netInfo != null && netInfo.isAvailable()) {
String name = netInfo.getTypeName();
Log.e("name=", name);
if (netInfo.getType() == ConnectivityManager.TYPE_WIFI) {
Log.e("WiFi网络=", "WiFi网络");
} else if (netInfo.getType() == ConnectivityManager.TYPE_ETHERNET) {
Log.e("有线网络=", "有线网络");
} else if (netInfo.getType() == ConnectivityManager.TYPE_MOBILE) {
Log.e("3g网络=", "3g网络");
}
} else {
Toast.makeText(context, "无网络", Toast.LENGTH_SHORT).show();
}
}
}
}
2 ##在main函数里动态注册广播
networkStateReceiver = new NetworkStateReceiver();
IntentFilter filter = new IntentFilter();
filter.addAction(ConnectivityManager.CONNECTIVITY_ACTION);
registerReceiver(networkStateReceiver, filter);
3 ##在AndroidManifest里设置权限
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />