Android 为您的程序添加网络判断

//判断是否有网络

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();
        }

    }

}

到这里呢,一个网络判断的流程就到这里了  

想了解更多?

                              https://blog.csdn.net/as89751

猜你喜欢

转载自blog.csdn.net/as89751/article/details/82285275
今日推荐