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

 

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

posted @ 2010-12-20 21:36  老码农豆豆  阅读(9496)  评论(3编辑  收藏  举报