Android 判断网络状态,并且在没有网络的时候,打开网络设置对话框

在使用Android连接网络的时候,并不是每次都能连接到网络,在这个时候,我们最好是在程序启动的时候对网络的状态进行一下判断,如果没有网络则进行即时提醒用户进行设置。

要判断网络状态,首先需要有相应的权限,下面为权限代码:

即允许访问网络状态:

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission>

 

下面为判断代码:

 

代码

private boolean NetWorkStatus() {

        boolean netSataus = false;
        ConnectivityManager cwjManager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);

        cwjManager.getActiveNetworkInfo();

        if (cwjManager.getActiveNetworkInfo() != null) {
            netSataus = cwjManager.getActiveNetworkInfo().isAvailable();
        }

        if (netSataus) {
            Builder b = new AlertDialog.Builder(this).setTitle("没有可用的网络")
                    .setMessage("是否对网络进行设置?");
            b.setPositiveButton("", new DialogInterface.OnClickListener() {
                public void onClick(DialogInterface dialog, int whichButton) {
                    Intent mIntent = new Intent("/");
                    ComponentName comp = new ComponentName(
                            "com.android.settings",
                            "com.android.settings.WirelessSettings");
                    mIntent.setComponent(comp);
                    mIntent.setAction("android.intent.action.VIEW");
                    startActivityForResult(mIntent,0);  // 如果在设置完成后需要再次进行操作,可以重写操作代码,在这里不再重写
                }
            }).setNeutralButton("", new DialogInterface.OnClickListener() {
                public void onClick(DialogInterface dialog, int whichButton) {
                    dialog.cancel();
                }
            }).show();
        }

        return netSataus;
    }

 

通过上面的代码即可完成对网络状态的判断!具体怎么自己选择网络进行设置,还没有弄明白,等弄明白了,再写!


你可能感兴趣的:(Android 判断网络状态,并且在没有网络的时候,打开网络设置对话框)