判断网络是否连接
public static boolean isNetworkAvailable(Context context) {
ConnectivityManager connectivity = (ConnectivityManager) context
.getSystemService(Context.CONNECTIVITY_SERVICE);
if (connectivity == null) {
Log.i("NetWorkState", "Unavailabel");
return false;
} else {
NetworkInfo[] info = connectivity.getAllNetworkInfo();
if (info != null) {
for (int i = 0; i < info.length; i++) {
if (info[i].getState() == NetworkInfo.State.CONNECTED) {
Log.i("NetWorkState", "Availabel");
return true;
}
}
}
}
return false;
}
当没有网络的时候,弹出设置框
public static void showSettingDialog(final Context context) {
AlertDialog.Builder builder = new AlertDialog.Builder(context);
builder.setIcon(android.R.drawable.ic_dialog_alert);
builder.setTitle("当前网络状态");
builder.setMessage("当前网络不可以,是否设置网络?");
builder.setPositiveButton("设置", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Intent intent = new Intent();
intent.setAction(Settings.ACTION_WIRELESS_SETTINGS);
context.startActivity(intent);
}
});
builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.cancel();
}
});
builder.create();
builder.show();
}
获得网络类型(WIFI、手机网络)
public static void getNetWorkType(Context context) {
ConnectivityManager connectivityManager = (ConnectivityManager) context
.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo activeNetInfo = connectivityManager.getActiveNetworkInfo();
if (activeNetInfo == null) {
Toast.makeText(context, "没有网络连接", Toast.LENGTH_SHORT).show();
return;
}
switch (activeNetInfo.getType()) {
case ConnectivityManager.TYPE_MOBILE:
Toast.makeText(context, "手机GPRS网络连接", Toast.LENGTH_SHORT).show();
break;
case ConnectivityManager.TYPE_WIFI:
Toast.makeText(context, "WIFI网络连接", Toast.LENGTH_SHORT).show();
break;
default:
Toast.makeText(context, "某网络连接", Toast.LENGTH_SHORT).show();
break;
}
}