一、检查网络是否连接

方法一、

public void CheckNetworkState() {
boolean flag = false;
ConnectivityManager manager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
State mobile = manager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE)
.getState();
State wifi = manager.getNetworkInfo(ConnectivityManager.TYPE_WIFI)
.getState();
// 如果3G、wifi、2G等网络状态是连接的,则退出,否则显示提示信息进入网络设置界面
if (mobile == State.CONNECTED || mobile == State.CONNECTING)
return;
if (wifi == State.CONNECTED || wifi == State.CONNECTING)
return;

//如果不可用,弹出对话框

}

方法二:

publicclassConnectionDetector {
08
09 privateContext _context;
10
11 publicConnectionDetector(Context context){
12 this._context = context;
13 }
14
15 publicbooleanisConnectingToInternet(){
16 ConnectivityManager connectivity = (ConnectivityManager) _context.getSystemService(Context.CONNECTIVITY_SERVICE);
17 if(connectivity !=null)
18 {
19 NetworkInfo[] info = connectivity.getAllNetworkInfo();
20 if(info !=null)
21 for(inti =0; i < info.length; i++)
22 if(info[i].getState() == NetworkInfo.State.CONNECTED)
23 {
24 returntrue;
25 }
26
27 }
28 returnfalse;
29 }
30 }

方法三、

1. 首先先看一下Android判断网络是否已打开(如果直接写在Activity里面,则可以不需要参数)

    /*     * 判断网络连接是否已开     * 2012-08-20     *true 已打开  false 未打开     * */    public static boolean isConn(Context context){        boolean bisConnFlag=false;        ConnectivityManager conManager = (ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE);        NetworkInfo network = conManager.getActiveNetworkInfo();        if(network!=null){            bisConnFlag=conManager.getActiveNetworkInfo().isAvailable();        }        return bisConnFlag;    }

2.如果未开启网络调用打开设置界面(如果不写在Activity里面则不需要参数)

    /*     * 打开设置网络界面     * */    public static void setNetworkMethod(final Context context){        //提示对话框        AlertDialog.Builder builder=new Builder(context);        builder.setTitle("网络设置提示").setMessage("网络连接不可用,是否进行设置?").setPositiveButton("设置", new DialogInterface.OnClickListener() {                        @Override            public void onClick(DialogInterface dialog, int which) {                // TODO Auto-generated method stub                Intent intent=null;                //判断手机系统的版本  即API大于10 就是3.0或以上版本                 if(android.os.Build.VERSION.SDK_INT>10){                    intent = new Intent(android.provider.Settings.ACTION_WIRELESS_SETTINGS);                }else{                    intent = new Intent();                    ComponentName component = new ComponentName("com.android.settings","com.android.settings.WirelessSettings");                    intent.setComponent(component);                    intent.setAction("android.intent.action.VIEW");                }                context.startActivity(intent);            }        }).setNegativeButton("取消", new DialogInterface.OnClickListener() {                        @Override            public void onClick(DialogInterface dialog, int which) {                // TODO Auto-generated method stub                dialog.dismiss();            }        }).show();    }

3. 在 AndroidManifest.xml中设置权限

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

4. 在相应的位置调用即可

if(!ConnectionUtil.isConn(getApplicationContext())){            ConnectionUtil.setNetworkMethod(MainActivity.this);        }

更多相关文章

  1. android MediaPlayer SurfaceView 网络视频播放器
  2. Android再按一次退出程序实现方法
  3. android 登录前检查网络状态
  4. Android getWindow().setFlags方法
  5. Android连载之:第三章第二节:Android用户界面
  6. 同一功能在Android不同版本进行兼容的方法
  7. Android通过原生方式获取经纬度与城市信息的方法
  8. Android搜索控件的基本使用方法
  9. android 仿ios数字密码解锁界面

随机推荐

  1. Android(安卓)Studio 2.0 Instant Run问
  2. Gradle依赖总结
  3. Android(安卓)View 的工作原理浅析
  4. View机制深入学习(一)
  5. 【Gradle】自定义Android(安卓)Gradle工
  6. Android中通过资源文件获取drawable的几
  7. android 如何查找内存泄漏
  8. Application Fundamentals-Components
  9. Android8.1 系统修改默认的wifi直连名字
  10. Android(安卓)studio简单计算机