网络判断跳转设置界面

来源:互联网 发布:爵迹亏了多少钱知乎 编辑:程序博客网 时间:2024/06/05 09:09

一. 首先清单列表中导入权限

<!--网络类型判断的权限-->
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission>

二.封装一个工具类  NetTypeUtils

public class NetTypeUtils {

    public static boolean isConn(Context context){

        //1.得到网络判断的系统服务
        ConnectivityManager manager=(ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
        //2.得到网络信息类
        NetworkInfo info=manager.getActiveNetworkInfo();
        if(info!=null && info.isAvailable()){
            return true;
        }else{
            return false;
        }
    }
    public static  void openNetSettingDg(final Context context){
        AlertDialog.Builder builder=new AlertDialog.Builder(context);
        builder.setTitle("设置网络");
        builder.setMessage("是否要打开网络连接?");
        builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {
                //跳转到设置页面
                Intent intent;
                // 先判断当前系统版本
                if(android.os.Build.VERSION.SDK_INT > 10){  // 3.0以上
                    intent = new Intent(android.provider.Settings.ACTION_WIRELESS_SETTINGS);
                }else{
                    intent = new Intent();
                    intent.setClassName("com.android.settings", "com.android.settings.WirelessSettings");
                }
                context.startActivity(intent);
            }
        });
        builder.setNegativeButton("取消",null);

        builder.show();
    }
}

三. 写点击事件

 btnGet.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                //首先判断有没有连接网络
                boolean result=NetTypeUtils.isConn(MainActivity.this);
                if(result){
                    //进行请求网络  数据(HttpUrl)
                    new MyGetData().start();
                }else{
                    NetTypeUtils.openNetSettingDg(MainActivity.this);
                }

            }
        });