zoukankan      html  css  js  c++  java
  • Android判断当前网络是否可用--示例代码

    Android判断当前网络是否可用--示例代码

    分类: *07 Android 2011-05-24 13:46 7814人阅读 评论(4) 收藏 举报

    在Android平台上开发基于网络的应用,必然需要去判断当前的网络连接情况。下面的代码,作为例子,详细说明了对于当前网络情况的判断。

    先看一个自己定义的应用类。

     

    1. public class NetworkDetector {  
    2.    
    3.     public static boolean detect(Activity act) {  
    4.         
    5.        ConnectivityManager manager = (ConnectivityManager) act  
    6.               .getApplicationContext().getSystemService(  
    7.                      Context.CONNECTIVITY_SERVICE);  
    8.         
    9.        if (manager == null) {  
    10.            return false;  
    11.        }  
    12.         
    13.        NetworkInfo networkinfo = manager.getActiveNetworkInfo();  
    14.         
    15.        if (networkinfo == null || !networkinfo.isAvailable()) {  
    16.            return false;  
    17.        }  
    18.    
    19.        return true;  
    20.     }  
    21. }  

     

    这个类只有一个静态方法,用来检测当前系统的网络是否可用。如果可用,返回true。

    还要进一步说明的是,NetworkInfo类中有一个方法getType(),这个方法可以用来判断当前可用的网络是wifi,还是mobile等等。

    再来看使用的例子。

    1. boolean networkState = NetworkDetector.detect(XXXActivity.this);  
    2. if (!networkState) {  
    3.     DialogUtil.openMsgDialog(XXXActivity.this,  
    4.            android.R.drawable.ic_dialog_info,  
    5.            “网络不可用,是否现在设置网络?”, android.R.string.ok,  
    6.            android.R.string.cancel,  
    7.            new DialogInterface.OnClickListener() {  
    8.               @Override  
    9.               public void onClick(DialogInterface dialog, int which) {  
    10.                   startActivityForResult(new Intent(  
    11.                          ACTION_WIRELESS_SETTINGS), 0);  
    12.               }  
    13.            }, new DialogInterface.OnClickListener() {  
    14.               @Override  
    15.               public void onClick(DialogInterface dialog, int which) {  
    16.                   dialog.cancel();  
    17.               }  
    18.            }).show();  
    19. }  

    其中XXXActivity是我自己的Activity类,DialogUtil是我自己定义的Dialog应用类。这里的代码片段,是在判断没有网络的情况下,弹出dialog,提示用户是否进入系统的网络设置界面。

    因为以上代码用到了权限,需要在AndroidManifest文件中加入如下权限代码:

        <uses-permission

           android:name="android.permission.ACCESS_NETWORK_STATE" />

    ---------------------------------------------------------------------------

    GL(arui319)

    http://blog.csdn.net/arui319

    <本文可以转载,但是请保留以上作者信息。谢谢。>

  • 相关阅读:
    [kuangbin带你飞]专题十六 KMP & 扩展KMP & ManacherK
    [kuangbin带你飞]专题十六 KMP & 扩展KMP & Manacher J
    [kuangbin带你飞]专题十六 KMP & 扩展KMP & Manacher I
    pat 1065 A+B and C (64bit)(20 分)(大数, Java)
    pat 1069 The Black Hole of Numbers(20 分)
    pat 1077 Kuchiguse(20 分) (字典树)
    pat 1084 Broken Keyboard(20 分)
    pat 1092 To Buy or Not to Buy(20 分)
    pat 1046 Shortest Distance(20 分) (线段树)
    pat 1042 Shuffling Machine(20 分)
  • 原文地址:https://www.cnblogs.com/xgjblog/p/3811432.html
Copyright © 2011-2022 走看看