【Android 网络】关于android 网络连接状态的一些代码

来源:互联网 发布:linux 存储系统 编辑:程序博客网 时间:2024/05/29 09:15

判断网络是否连接

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


0 0
原创粉丝点击