/** * 測試ConnectivityManager * ConnectivityManager主要管理和網絡鏈接相關的操做 * 相關的TelephonyManager則管理和手機、運營商等的相關信息;WifiManager則管理和wifi相關的信息。 * 想訪問網絡狀態,首先得添加權限<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> * NetworkInfo類包含了對wifi和mobile兩種網絡模式鏈接的詳細描述,經過其getState()方法獲取的State對象則表明着 * 鏈接成功與否等狀態。 * */ public void testConnectivityManager() { ConnectivityManager connManager = (ConnectivityManager) this .getSystemService(CONNECTIVITY_SERVICE); // 獲取表明聯網狀態的NetWorkInfo對象 NetworkInfo networkInfo = connManager.getActiveNetworkInfo(); // 獲取當前的網絡鏈接是否可用 boolean available = networkInfo.isAvailable(); if(available){ Log.i("通知", "當前的網絡鏈接可用"); } else{ Log.i("通知", "當前的網絡鏈接可用"); } State state = connManager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE).getState(); if(State.CONNECTED==state){ Log.i("通知", "GPRS網絡已鏈接"); } state = connManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI).getState(); if(State.CONNECTED==state){ Log.i("通知", "WIFI網絡已鏈接"); } // 跳轉到無線網絡設置界面 startActivity(new Intent(android.provider.Settings.ACTION_WIRELESS_SETTINGS)); // 跳轉到無限wifi網絡設置界面 startActivity(new Intent(android.provider.Settings.ACTION_WIFI_SETTINGS)); }
android中判斷網絡鏈接是否可用html
1、判斷網絡鏈接是否可用java
public static boolean isNetworkAvailable(Context context) { android
ConnectivityManager cm = (ConnectivityManager) context 網絡
.getSystemService(Context.CONNECTIVITY_SERVICE); ide
if (cm == null) { 測試
} else { this
//若是僅僅是用來判斷網絡鏈接 spa
//則能夠使用 cm.getActiveNetworkInfo().isAvailable(); code
NetworkInfo[] info = cm.getAllNetworkInfo(); orm
if (info != null) {
for (int i = 0; i < info.length; i++) {
if (info[i].getState() == NetworkInfo.State.CONNECTED) {
return true;
}
}
}
}
return false;
}
2、判斷GPS是否打開
public static boolean isGpsEnabled(Context context) {
LocationManager lm = ((LocationManager) context
.getSystemService(Context.LOCATION_SERVICE));
List accessibleProviders = lm.getProviders(true);
return accessibleProviders != null && accessibleProviders.size() > 0;
}
3、判斷WIFI是否打開
public static boolean isWifiEnabled(Context context) {
ConnectivityManager mgrConn = (ConnectivityManager) context
.getSystemService(Context.CONNECTIVITY_SERVICE);
TelephonyManager mgrTel = (TelephonyManager) context
.getSystemService(Context.TELEPHONY_SERVICE);
return ((mgrConn.getActiveNetworkInfo() != null && mgrConn
.getActiveNetworkInfo().getState() == NetworkInfo.State.CONNECTED) || mgrTel
.getNetworkType() == TelephonyManager.NETWORK_TYPE_UMTS);
}
4、判斷是不是3G網絡
public static boolean is3rd(Context context) {
ConnectivityManager cm = (ConnectivityManager) context
.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo networkINfo = cm.getActiveNetworkInfo();
if (networkINfo != null
&& networkINfo.getType() == ConnectivityManager.TYPE_MOBILE) {
return true;
}
return false;
}
5、判斷是wifi仍是3g網絡,用戶的體現性在這裏了,wifi就能夠建議下載或者在線播放。
public static boolean isWifi(Context context) {
ConnectivityManager cm = (ConnectivityManager) context
.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo networkINfo = cm.getActiveNetworkInfo();
if (networkINfo != null
&& networkINfo.getType() == ConnectivityManager.TYPE_WIFI) {
return true;
}
return false;
}