Android判断网络是否打开,并打开设置网络界面

来源:互联网 发布:淘宝卖家怎么取消订单 编辑:程序博客网 时间:2024/05/14 13:34

  由于Android的SDK版本不同所以里面的API和设置方式也是有少量变化的,尤其是在Android 3.0 及后面的版本,UI和显示方式也发生了变化,现在就以打开网络设置为例,同大家分享一下,效果如下:

    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);        }

这样在软件开启时加上判断就可以先设置网络了

原创粉丝点击