下面是一个跟安卓网络相关的工具类,里面包含了一些很常用的功能,如WiFi的开关,WiFi热点的开关,获取手机IP地址等……
import android.content.Context;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.net.wifi.WifiConfiguration;
import android.net.wifi.WifiInfo;
import android.net.wifi.WifiManager;
import java.lang.reflect.Method;
public class NetWorkUtil {
/**
* 判断当前WiFi是否可用
*
* @param inContext
* @return
*/
public static boolean isWiFiActive(Context inContext) {
Context context = inContext.getApplicationContext();
ConnectivityManager connectivity = (ConnectivityManager) context
.getSystemService(Context.CONNECTIVITY_SERVICE);
if (connectivity != null) {
NetworkInfo[] info = connectivity.getAllNetworkInfo();
if (info != null) {
for (int i = 0; i < info.length; i++) {
if (info[i].getTypeName().equals("WIFI") && info[i].isConnected()) {
return true;
}
}
}
}
return false;
}
/**
* 打开WiFi热点状态
*
* @param context
* @return
*/
public static boolean openWifiAP(Context context, WifiConfiguration apConfig) {
WifiManager wifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
//wifi和热点不能同时打开,所以打开热点的时候需要关闭wifi
wifiManager.setWifiEnabled(false);
try {
//通过反射调用设置热点
Method method = wifiManager.getClass().getMethod(
"setWifiApEnabled", WifiConfiguration.class, Boolean.TYPE);
//返回热点状态
return (Boolean) method.invoke(wifiManager, apConfig, true);
} catch (Exception e) {
return false;
}
}
<span style="white-space:pre"> </span>// 关闭WiFi热点
public static boolean closeWifiAP(WifiManager wifiManager) {
try {
//热点的配置