/**
* 判断当前网络是否可用
* @param context
* @return false不可用 true可用
*/
public static boolean isNetworkAvailable(Context context) {
ConnectivityManager cm = (ConnectivityManager) context
.getSystemService(Context.CONNECTIVITY_SERVICE);
if (cm == null) {
} else {
NetworkInfo[] info = cm.getAllNetworkInfo();
if (info != null) {
for (int i = 0; i < info.length; i++) {
if (info[i].getState() == NetworkInfo.State.CONNECTED) {
return true;
}
}
}
}
return false;
}
/**
* WIFI网络开关
* enabled 传ture打开wifi
*/
private void toggleWiFi(Context context, boolean enabled) {
WifiManager wm = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
wm.setWifiEnabled(enabled);
}
这个方法在4.3可行,在6.0不行 还在寻找可行方法,有可能是权限的问题。
/**
* 移动网络开关
* enabled 传ture打开wifi
*/
private void setMobileDataEnabled(Context context, boolean enabled) {
final String TAG = "setMobileDataEnabled";
final ConnectivityManager conman = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
Class conmanClass;
try {
conmanClass = Class.forName(conman.getClass().getName());
final Field iConnectivityManagerField = conmanClass.getDeclaredField("mService");
iConnectivityManagerField.setAccessible(true);
final Object iConnectivityManager = iConnectivityManagerField.get(conman);
final Class iConnectivityManagerClass = Class.forName(iConnectivityManager.getClass().getName());
final Method setMobileDataEnabledMethod = iConnectivityManagerClass.getDeclaredMethod("setMobileDataEnabled", Boolean.TYPE);
setMobileDataEnabledMethod.setAccessible(true);
setMobileDataEnabledMethod.invoke(iConnectivityManager, enabled);
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
Log.d(TAG, "ClassNotFoundException");
} catch (NoSuchFieldException e) {
Log.d(TAG, "NoSuchFieldException");
} catch (IllegalArgumentException e) {
Log.d(TAG, "IllegalArgumentException");
} catch (IllegalAccessException e) {
Log.d(TAG, "IllegalAccessException");
} catch (NoSuchMethodException e) {
Log.d(TAG, "NoSuchMethodException");
} catch (InvocationTargetException e) {
Log.d(TAG, "InvocationTargetException");
} finally {
}
}
加上权限:
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE"/>