在android的開發中,尤其是與訪問網路有關的開發,都要判斷一下手機是否串連上了網路,下面是一個判斷是否串連網路的嗲嗎片段:
package cn.com.karl.util;
import com.kubu.main.R;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.provider.Settings;
import android.widget.TextView;
public class IsInternet {
/**
* 判斷網路情況
* @param context 上下文
* @return false 表示沒有網路 true 表示有網路
*/
public static boolean isNetworkAvalible(Context context) {
// 獲得網路狀態管理器
ConnectivityManager connectivityManager = (ConnectivityManager) context
.getSystemService(Context.CONNECTIVITY_SERVICE);
if (connectivityManager == null) {
return false;
} else {
// 建立網路數組
NetworkInfo[] net_info = connectivityManager.getAllNetworkInfo();
if (net_info != null) {
for (int i = 0; i < net_info.length; i++) {
// 判斷獲得的網路狀態是否是處於串連狀態
if (net_info[i].getState() == NetworkInfo.State.CONNECTED) {
return true;
}
}
}
}
return false;
}
// 如果沒有網路,則彈出網路設定對話方塊
public static void checkNetwork(final Activity activity) {
if (!IsInternet.isNetworkAvalible(activity)) {
TextView msg = new TextView(activity);
msg.setText("當前沒有可以使用的網路,請設定網路!");
new AlertDialog.Builder(activity)
.setIcon(R.drawable.android)
.setTitle("網路狀態提示")
.setView(msg)
.setPositiveButton("確定",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog,
int whichButton) {
// 跳轉到設定介面
activity.startActivityForResult(new Intent(
Settings.ACTION_WIRELESS_SETTINGS),
0);
}
}).create().show();
}
return;
}
}