介绍
本篇文章为大家展示了如何在Android中对手机网络进行检测,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。
& lt; uses-permission Android: name=癮ndroid.permission.ACCESS_NETWORK_STATE"/比; & lt; uses-permission  android: name=癮ndroid.permission.INTERNET"/祝辞
自定义广播接收器
public class NetWorkStateReceiver extends BroadcastReceiver { @Override才能 public 才能;void  onReceive (Context 上下文,Intent 意图),{ ,,,System.out.println(“网络状态发生变化“); ,,,//检测API是不是小于23日,因为到了API23之后getNetworkInfo (int networkType)方法被弃用 ,,,if (android.os.Build.VERSION.SDK_INT & lt;, android.os.Build.VERSION_CODES.LOLLIPOP), { ,,,,,//获得ConnectivityManager对象 ,,,,,ConnectivityManager connMgr =, (ConnectivityManager), context.getSystemService (Context.CONNECTIVITY_SERVICE); ,,,,,//获取ConnectivityManager对象对应的NetworkInfo对象 ,,,,,//获取无线连接的信息 ,,,,,NetworkInfo wifiNetworkInfo =, connMgr.getNetworkInfo (ConnectivityManager.TYPE_WIFI); ,,,,,//获取移动数据连接的信息 ,,,,,NetworkInfo dataNetworkInfo =, connMgr.getNetworkInfo (ConnectivityManager.TYPE_MOBILE); ,,,,,if (wifiNetworkInfo.isConnected (),,,, dataNetworkInfo.isConnected ()), { ,,,,,,,Toast.makeText(上下文,“无线已连接,移动数据已连接,,,Toast.LENGTH_SHORT),告诉(); ,,,,,},else if (wifiNetworkInfo.isConnected (),,,, ! dataNetworkInfo.isConnected ()), { ,,,,,,,Toast.makeText(上下文,“无线已连接,移动数据已断开“,,Toast.LENGTH_SHORT),告诉(); ,,,,,},else if (! wifiNetworkInfo.isConnected (),,,, dataNetworkInfo.isConnected ()), { ,,,,,,,Toast.makeText(上下文,“无线已断开,移动数据已连接,,,Toast.LENGTH_SHORT),告诉(); ,,,,,},{else ,,,,,,,Toast.makeText(上下文,“无线已断开,移动数据已断开“,,Toast.LENGTH_SHORT),告诉(); ,,,,,}//API大于23时使用下面的方式进行网络监听 ,,,}else { ,,,,,System.out.println (“API  level 大于23日“); ,,,,,//获得ConnectivityManager对象 ,,,,,ConnectivityManager connMgr =, (ConnectivityManager), context.getSystemService (Context.CONNECTIVITY_SERVICE); ,,,,,//获取所有网络连接的信息 ,,,,,网络[],networks =, connMgr.getAllNetworks (); ,,,,,//用于存放网络连接信息 ,,,,,StringBuilder sb =, new StringBuilder (); ,,,,,//通过循环将网络信息逐个取出来 ,,,,,for (int i=0,小姐:& lt;, networks.length;,我+ +){ ,,,,,,,//获取ConnectivityManager对象对应的NetworkInfo对象 ,,,,,,,NetworkInfo NetworkInfo =, connMgr.getNetworkInfo(网络[我]); ,,,,,,,sb.append (networkInfo.getTypeName (), +,“, connect is “, +, networkInfo.isConnected ()); ,,,,,} ,,,,,Toast.makeText(上下文,sb.toString (), Toast.LENGTH_SHORT),告诉(); ,,,} ,,} }
注册广播
- <李>
动态注册
李> <李>静态注册
李>动态注册
public class MainActivity extends AppCompatActivity { NetWorkStateReceiver 才能;netWorkStateReceiver; @Override才能 protected 才能;void  onCreate (Bundle savedInstanceState), { ,,,super.onCreate (savedInstanceState); ,,,setContentView (R.layout.activity_main); ,,}//才能在onResume()方法注册 @Override才能 protected 才能;void  onResume (), { ,,,if (netWorkStateReceiver ==, null), { ,,,,,netWorkStateReceiver =, new NetWorkStateReceiver (); ,,,} null null null null null null null null null null null null null null null null null null null null null如何在Android中对手机网络进行检测