//判断是否有网络
private boolean isNetworkConnected() {
ConnectivityManager connMgr = (ConnectivityManager)
getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo networkInfo = connMgr.getActiveNetworkInfo();
return (networkInfo != null && networkInfo.isConnected());
}
//一般再MainActivity中写入一下代码
//返回为true 是有网络的状态
//返回false 是没有网络的状态
boolean networkConnected = isNetworkConnected();
if (networkConnected){
//判断有网络的情况
//Toast.makeText(ShowActivity.this,"有网",Toast.LENGTH_SHORT).show();
}else{
//如果判断没有网络,提示AlertLog去设置中打开网络
startAlertDiaLog();
}
//如果是没有网络的状态 就引导用户 去设置页面打开网络
public void startAlertDiaLog(){
AlertDialog.Builder alert = new AlertDialog.Builder(ShowActivity.this);
alert.setTitle("说明");
alert.setMessage("App没有查询到可用的网络,请去设置中打开");
alert.setPositiveButton("启动设置", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
startSetting();
}
});
alert.setNegativeButton("暂不开启", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
}
});
alert.create();
alert.show();
}
整理的一些跳转的路径
1. ACTION_ACCESSIBILITY_SETTINGS : // 跳转系统的辅助功能界面
Intent intent = new Intent(Settings.ACTION_ACCESSIBILITY_SETTINGS);
startActivity(intent);
2. ACTION_ADD_ACCOUNT : // 显示添加帐户创建一个新的帐户屏幕。【测试跳转到微信登录界面】
Intent intent = new Intent(Settings.ACTION_ADD_ACCOUNT);
startActivity(intent);
3. ACTION_AIRPLANE_MODE_SETTINGS: // 飞行模式,无线网和网络设置界面
Intent intent = new Intent(Settings.ACTION_AIRPLANE_MODE_SETTINGS);
startActivity(intent);
或者:
ACTION_WIRELESS_SETTINGS :
Intent intent = new Intent(Settings.ACTION_WIFI_SETTINGS);
startActivity(intent);
4. ACTION_APN_SETTINGS: // 跳转 APN设置界面
Intent intent = new Intent(Settings.ACTION_APN_SETTINGS);
startActivity(intent);
5. 【需要参数】 ACTION_APPLICATION_DETAILS_SETTINGS: // 根据包名跳转到系统自带的应用程序信息界面
Uri packageURI = Uri.parse("package:" + "com.tencent.WBlog");
Intent intent =new Intent(Settings.ACTION_APPLICATION_DETAILS_SETTINGS,packageURI);
startActivity(intent);
6. ACTION_APPLICATION_DEVELOPMENT_SETTINGS : // 跳转开发人员选项界面
Intent intent = new Intent(Settings.ACTION_APPLICATION_DEVELOPMENT_SETTINGS);
startActivity(intent);
7. ACTION_APPLICATION_SETTINGS : // 跳转应用程序列表界面
//打开设置页面
public void startSetting(){
Intent intent = new Intent(Settings.ACTION_AIRPLANE_MODE_SETTINGS);
startActivity(intent); // 打开系统设置界面
}
//因为去设置页面需要一个返回的过程 所以上代码
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == 10 && resultCode == RESULT_OK){
boolean networkConnected = isNetworkConnected();
if (networkConnected){
Toast.makeText(ShowActivity.this,"感谢您的理解",Toast.LENGTH_SHORT).show();
}else{
Toast.makeText(ShowActivity.this,"亲,你不乖咯,还没有可用的网络哦",Toast.LENGTH_SHORT).show();
}
}
}
到这里呢,一个网络判断的流程就到这里了