您的位置:首页 > 理论基础 > 计算机网络

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

2017-12-19 15:33 330 查看
首先是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();

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: