检查网络连接状态和修改网络连接状态

时间:2025-03-28 13:17:23
/**
 * 检测网络是否连接
 */
private boolean checkNetworkState() {
    boolean flag = false;
    //得到网络连接信息
    manager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
    //去进行判断网络是否连接
    if (() != null) {
        flag = ().isAvailable();
    }
    if (!flag) {
        setNetwork();
    } else {
        isNetworkAvailable();
    }
    return flag;
}


/**
 * 网络未连接时,调用设置方法
 */
private void setNetwork() {
    (this, "wifi is closed!", Toast.LENGTH_SHORT).show();

     builder = new (this);
    (.ic_launcher);
    ("网络提示信息");
    ("网络不可用,如果继续,请先设置网络!");
    ("设置", new OnClickListener() {
        @Override
        public void onClick(DialogInterface dialog, int which) {
            Intent intent = null;
            /**
             * 判断手机系统的版本!如果API大于10 就是3.0+
             * 因为3.0以上的版本的设置和3.0以下的设置不一样,调用的方法不同
             */
            if (.SDK_INT > 10) {
                intent = new Intent(.ACTION_WIFI_SETTINGS);
            } else {
                intent = new Intent();
                ComponentName component = new ComponentName(
                        "",
                        "");
                (component);
                ("");
            }
            startActivity(intent);
        }
    });

    ("取消", new OnClickListener() {
        @Override
        public void onClick(DialogInterface dialog, int which) {

        }
    });
    ();
    ();
}

/**
 * 网络已经连接,然后去判断是wifi连接还是GPRS连接
 * 设置一些自己的逻辑调用
 */
private void isNetworkAvailable() {
    State gprs = (ConnectivityManager.TYPE_MOBILE).getState();
    State wifi = (ConnectivityManager.TYPE_WIFI).getState();
    if (gprs ==  || gprs == ) {
        (this, "wifi is open! gprs", Toast.LENGTH_SHORT).show();
    }
    //判断为wifi状态下才加载广告,如果是GPRS手机网络则不加载!
    if (wifi ==  || wifi == ) {
        (this, "wifi is open! wifi", Toast.LENGTH_SHORT).show();
        loadAdmob();
    }
}