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

通过上面的代码即可完成对网络状态的判断!

原文地址:https://www.cnblogs.com/xyzlmn/p/3168210.html