一个简单的网络判断的方法

来源:互联网 发布:书画升值数据 编辑:程序博客网 时间:2024/04/30 15:22

首先是Utile工具类
如果返回的值是-1(没有网络)

public static int getNetype(Context context) {        int netType = -1;        ConnectivityManager connMgr = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);        NetworkInfo networkInfo = connMgr.getActiveNetworkInfo();        if (networkInfo == null) {            return netType;        }        int nType = networkInfo.getType();        if (nType == ConnectivityManager.TYPE_MOBILE) {            netType = 2;        } else if (nType == ConnectivityManager.TYPE_WIFI) {            netType = 1;        }        return netType;

然后在MainActivity类中的具体应用
如果返回值是-1(没网络)跳转到网络设置进行设置
如果返回的不是-1那么加载数据

 plv = (PullToRefreshListView) findViewById(R.id.plv);        plv.setMode(PullToRefreshBase.Mode.BOTH);        int netype = Utile.getNetype(this);        if (netype != -1) {            Toast.makeText(MainActivity.this, "有网络", Toast.LENGTH_SHORT).show();            plv.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener2<ListView>() {                @Override                public void onPullDownToRefresh(PullToRefreshBase<ListView> refreshView) {                    plv.postDelayed(new Runnable() {                        @Override                        public void run() {                            list2.clear();                            new MyTake().execute(url);                            plv.onRefreshComplete();                        }                    }, 1000);                }                @Override                public void onPullUpToRefresh(PullToRefreshBase<ListView> refreshView) {                    plv.postDelayed(new Runnable() {                        @Override                        public void run() {                            page++;                            new MyTake().execute("http://api.tianapi.com/it/?key=404a3c62f59023713f86132d20787d76&num=10&page=" + page);                            plv.onRefreshComplete();                        }                    }, 1000);                }            });            new MyTake().execute(url);        } else {            AlertDialog.Builder builder = new AlertDialog.Builder(this);            builder.setTitle("设置网络");            builder.setMessage("没有网络是否要打开网络连接?");            builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {                @Override                public void onClick(DialogInterface dialogInterface, int i) {                    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.ACTION_MAIN);                        intent.setClassName("com.android.phone", "com.android.phone.NetworkSetting");                    }                    startActivity(intent);                }            });            builder.setNegativeButton("取消", null);            builder.show();            //Toast.makeText(MainActivity.this, "没有网络", Toast.LENGTH_SHORT).show();        }