您的位置:首页 > 理论基础 > 计算机网络

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

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

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

即允许访问网络状态:

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


下面为判断代码:

/*
* 判断网络状态
*/
private boolean JudgeNetWorkStatus() {
boolean netStatus = false;
ConnectivityManager conManager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
conManager.getActiveNetworkInfo();
if (conManager.getActiveNetworkInfo() != null) {
netStatus = conManager.getActiveNetworkInfo().isAvailable();
}
if (!netStatus) {
Builder b = new AlertDialog.Builder(this).
setTitle(R.string.no_Network_found).
setMessage(R.string.whether_set_network);
b.setPositiveButton(android.R.string.ok, 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(android.R.string.cancel, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
dialog.cancel();
}
}).show();
}
return netStatus;
}


通过上面的代码即可完成对网络状态的判断
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐