Android判断网络连接状态
有的时候我们的应用可能需要判断当前设备是否联网
private void init() { /** 获得系统级联网管理员对象 */ ConnectivityManager manager = (ConnectivityManager) this .getSystemService(CONNECTIVITY_SERVICE); NetworkInfo info = manager.getActiveNetworkInfo(); if (info == null) { // 无网情况下 // 跳转到网络设置页面 startActivity(new Intent(android.provider.Settings.ACTION_SETTINGS)); } else { // 有网情况下 if (info.isAvailable()) { // 网络可用时 /** 是手机自带的联网方式 */ if (info.getType() == ConnectivityManager.TYPE_MOBILE) { if (info.getState() == State.CONNECTED) { Toast.makeText( MainActivity.this, "手机网络可用并已连接" + "\n" + "连接网络方式为:\n" + info.getType() + ",MOBILE", 1).show(); } /** WIFI联网方式 */ } else { Toast.makeText(MainActivity.this, "连接网络方式为:" + info.getType() + ",WI-FI", 1).show(); startActivity(new Intent( android.provider.Settings.ACTION_WIFI_SETTINGS)); } } else { Toast.makeText(MainActivity.this, "手机网络不可用", 1).show(); } } }
不过最后注意增加以下权限,允许程序访问有关GSM网络信息(Allows applications to accessinformation about networks),不然会报错
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
作者:无言
如果您认为阅读这篇博客让您有些收获,不妨点击一下右下角的【推荐】
如果您希望与我交流互动,欢迎微博互粉
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。