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

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

  • 相关阅读:
    tomcat配置http、https同时访问
    mycat 多库分表 单库分表(根据uuid)
    分页关联查询时 出现查出数据和条数不匹配 级联查询
    微信公众号转发网页
    maven导出jar包
    sqlserver分割字符
    mysql按字符分割字段排序
    对ajax中数据的得到以及绑定的认识
    对待事情应该有的态度!!!
    对Dom的认识
  • 原文地址:https://www.cnblogs.com/xgjblog/p/3811432.html
Copyright © 2011-2022 走看看