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

判断网络是否可用

2017-12-13 19:51 155 查看
权限
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
调用方法
if(NetStateUtil.isConn(this)){
}else{
NetStateUtil.showNoNetWorkDlg(this);
}

/**
* 得到网络状态的工具类
* Created by e531 on 2017/10/16.
*/
public class NetStateUtil {

/*
* 判断网络连接是否已开
* 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;
}

/**
* 当判断当前手机没有网络时选择是否打开网络设置
* @param context
*/
public static void showNoNetWorkDlg(final Context context) {
AlertDialog.Builder builder = new AlertDialog.Builder(context);
builder.setIcon(R.mipmap.ic_launcher)         //
.setTitle(R.string.app_name)            //
.setMessage("当前无网络").setPositiveButton("设置", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// 跳转到系统的网络设置界面
Intent intent = null;
// 先判断当前系统版本
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);

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