Android获取热点主机ip和连接热点手机ip的代码

其中定义WIFI AP的几个状态

public static final int WIFI_AP_STATE_DISABLING = 10;

public static final int WIFI_AP_STATE_DISABLED = 11;

public static final int WIFI_AP_STATE_ENABLING = 12;

public static final int WIFI_AP_STATE_ENABLED = 13;

public static final int WIFI_AP_STATE_FAILED = 14;

对应于WifiMangaer.java中对这几个状态的定义。

获取WIFI热点的状态:

public int getWifiApState(Context mContext) {

WifiManager wifiManager = (WifiManager) mContext.getSystemService(Context.WIFI_SERVICE);

try {

Method method = wifiManager.getClass().getMethod("getWifiApState");

int i = (Integer) method.invoke(wifiManager);

Log.i(TAG,"wifi state: " + i);

return i;

} catch (Exception e) {

Log.e(TAG,"Cannot get WiFi AP state" + e);

return WIFI_AP_STATE_FAILED;

}

}

判断Wifi热点是否可用:

private ArrayList<String> getConnectedHotIP() {

ArrayList<String> connectedIP = new ArrayList<String>();

try {

BufferedReader br = new BufferedReader(new FileReader(

"/proc/net/arp"));

String line;

while ((line = br.readLine()) != null) {

String[] splitted = line.split(" +");

if (splitted != null && splitted.length >= 4) {

String ip = splitted[0];

connectedIP.add(ip);

}

}

} catch (Exception e) {

e.printStackTrace();

}

return connectedIP;

}

//输出链接到当前设备的IP地址

public void printHotIp() {

ArrayList<String> connectedIP = getConnectedHotIP();

StringBuilder resultList = new StringBuilder();

for (String ip : connectedIP) {

resultList.append(ip);

resultList.append("\n");

}

System.out.print(resultList);

Log.d(TAG,"---->>heww resultList="+resultList);

}

当然在应用中要添加访问WIFI设备的权限:

<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />

获取热点主机ip地址的代码:

WifiManager wifiManager = (WifiManager) getSystemService(Context.WIFI_SERVICE);

DhcpInfo info=wifiManager.getDhcpInfo();

System.out.println(info.serverAddress);

总结

以上所述是小编给大家介绍的Android获取热点主机ip和连接热点手机ip的方法 ,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!

以上是 Android获取热点主机ip和连接热点手机ip的代码 的全部内容, 来源链接: utcz.com/z/319304.html

回到顶部