之前查阅的一些总结,和大家分享一下。
有关于AP热点开发(wifi发热点开发)的总结请看: http://blog.csdn.net/error/404.html?from=http%3a%2f%2fblog.csdn.net%2fguang_liang_%2farticle%2fdetails%2f55224675
public class Wifi_WifiManager {
private Context mContext;
private android.net.wifi.WifiManager wifiManager ;
public static boolean isInOpenWifi=false;
public Wifi_WifiManager(Context context){
this.mContext=context;
wifiManager=(WifiManager) context.getSystemService(Context.WIFI_SERVICE);
}
/**
* 判断wifi是否打开
* @return
*/
public boolean isWifiActive(){
ConnectivityManager mConnectivity=(ConnectivityManager)
mContext.getSystemService(Context.CONNECTIVITY_SERVICE);
if (mConnectivity!=null){
NetworkInfo[] infos=mConnectivity.getAllNetworkInfo();
if (infos !=null){
for (NetworkInfo ni:infos){
if ("WIFI".equals(ni.getTypeName())&&ni.isConnected())
return true;
}
}
}
return false;
}
/**
* 打开wifi
*/
public void openWifi(){
if (!isWifiActive())
wifiManager.setWifiEnabled(true);
}
/**
* 关闭wifi
*/
public void closeWifi(){
if (isWifiActive())
wifiManager.setWifiEnabled(false);
}
/**
* 记录进入软件时的wifi,
* 若开启,离开软件时开启wifi
*/
public void InApp_isOpenWifi(){
if (isWifiActive())
isInOpenWifi = true;
}
/**
* 获得热点手机IP地址
* @return ip
*/
public String getIp(){
DhcpInfo info=wifiManager.getDhcpInfo();
int iii=info.serverAddress;
String ip=intToIp(iii);
return ip;
}
/**
* 获得ip地址算法
* @param i
* @return IP
*/
private String intToIp(int i){
return (i & 0xFF) + "." + ((i >> 8) & 0xFF) + "." + ((i >> 16) & 0xFF) + "." + ((i >> 24) & 0xFF);
}
}