在oncreat中进行注册广播
IntentFilter intentFilter = new IntentFilter(); intentFilter.addAction("android.net.conn.CONNECTIVITY_CHANGE"); networkChangeReceiver = new NetWord(); //这个是自己写的广播接收者 registerReceiver(networkChangeReceiver, intentFilter);
创建广播接收者
public class NetWord extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { ConnectivityManager connectionManager = (ConnectivityManager) getSystemService(CONNECTIVITY_SERVICE); NetworkInfo networkInfo = connectionManager.getActiveNetworkInfo(); if (networkInfo != null && networkInfo.isAvailable()) { switch (networkInfo.getType()) { case TYPE_MOBILE: Toast.makeText(context, "正在使用2G/3G/4G网络", Toast.LENGTH_SHORT).show(); break; case TYPE_WIFI: Toast.makeText(context, "正在使用wifi上网", Toast.LENGTH_SHORT).show(); break; default: break; } } else { Toast.makeText(context, "当前无网络连接", Toast.LENGTH_SHORT).show(); } }
}
最后在onDestroy中销毁广播
@Override protected void onDestroy() { super.onDestroy(); unregisterReceiver(networkChangeReceiver); }