在使用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;
}
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;
}
通过上面的代码即可完成对网络状态的判断!具体怎么自己选择网络进行设置,还没有弄明白,等弄明白了,再写!