Android判断网络连接状态

有的时候我们的应用可能需要判断当前设备是否联网

 1 private void init() {
 2         /** 获得系统级联网管理员对象 */
 3         ConnectivityManager manager = (ConnectivityManager) this
 4                 .getSystemService(CONNECTIVITY_SERVICE);
 5         NetworkInfo info = manager.getActiveNetworkInfo();
 6         if (info == null) { // 无网情况下
 7             // 跳转到网络设置页面
 8             startActivity(new Intent(android.provider.Settings.ACTION_SETTINGS));
 9         } else { // 有网情况下
10             if (info.isAvailable()) { // 网络可用时
11                 /** 是手机自带的联网方式 */
12                 if (info.getType() == ConnectivityManager.TYPE_MOBILE) {
13                     if (info.getState() == State.CONNECTED) {
14                         Toast.makeText(
15                                 MainActivity.this,
16                                 "手机网络可用并已连接" + "\n" + "连接网络方式为:\n"
17                                         + info.getType() + ",MOBILE", 1).show();
18                     }
19                 /** WIFI联网方式 */
20                 } else {
21                     Toast.makeText(MainActivity.this,
22                             "连接网络方式为:" + info.getType() + ",WI-FI", 1).show();
23                     startActivity(new Intent(
24                             android.provider.Settings.ACTION_WIFI_SETTINGS));
25                 }
26             } else {
27                 Toast.makeText(MainActivity.this, "手机网络不可用", 1).show();
28             }
29         }
30     }

不过最后注意增加以下权限,允许程序访问有关GSM网络信息(Allows applications to accessinformation about networks),不然会报错

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> 

 

Android判断网络连接状态,,5-wow.com

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。