主要是用來檢測是否有網路,如果沒有,就去wifi裡面去進行設定網路。。。
下面貼一下主要代碼:
private void checkNetWorkInfo() {if (!Tools.isNetworkAvailable(this)) {new AlertDialog.Builder(this).setTitle("提示!").setIcon(android.R.drawable.ic_dialog_info).setMessage("檢測到你還沒開啟網路,請開啟").setNegativeButton("取消", null).setPositiveButton("開啟",new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog,int which) {startActivity(new Intent(Settings.ACTION_WIRELESS_SETTINGS));// 進入無線網路配置介面startActivity(new Intent(Settings.ACTION_WIFI_SETTINGS)); // 進入手機中的wifi網路設定介面}}).show();}}
isNetworkAvailable裡面的代碼:
/* * 判斷是否有網路 */public static boolean isNetworkAvailable(Context context) {ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);if (cm == null) {return false;} else {// 列印所有的網路狀態NetworkInfo[] infos = cm.getAllNetworkInfo();if (infos != null) {for (int i = 0; i < infos.length; i++) {// Log.d(TAG, "isNetworkAvailable - info: " +// infos[i].toString());if (infos[i].getState() == NetworkInfo.State.CONNECTED) {Log.d(TAG, "isNetworkAvailable - I " + i);}}}// 如果僅僅是用來判斷網路連接 // 則可以使用 cm.getActiveNetworkInfo().isAvailable();NetworkInfo networkInfo = cm.getActiveNetworkInfo();if (networkInfo != null) {Log.d(TAG,"isNetworkAvailable - 是否有網路: "+ networkInfo.isAvailable());} else {Log.d(TAG, "isNetworkAvailable - 完成沒有網路!");return false;}// 1、判斷是否有3G網路if (networkInfo != null&& networkInfo.getType() == ConnectivityManager.TYPE_MOBILE) {Log.d(TAG, "isNetworkAvailable - 有3G網路");return true;} else {Log.d(TAG, "isNetworkAvailable - 沒有3G網路");}// 2、判斷是否有wifi串連if (networkInfo != null&& networkInfo.getType() == ConnectivityManager.TYPE_WIFI) {Log.d(TAG, "isNetworkAvailable - 有wifi串連");return true;} else {Log.d(TAG, "isNetworkAvailable - 沒有wifi串連");}}return false;}