Android获取热点主机ip和连接热点手机ip的代码
更新时间:2018年01月26日 11:09:09 作者:ChinaWallace
这篇文章主要介绍了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获取当前接入点信息判断是ctwap还是ctnet实例代码
这篇文章主要介绍了android获取当前接入点信息判断是ctwap还是ctnet的方法,大家参考使用吧2013-11-11
Android中的layout_gravity与gravity属性详解
layout_gravity和gravity是Android开发中用于控制视图布局和对齐方式的两个属性,layout_gravity用于指定视图在父容器中的对齐方式,而gravity用于指定视图内部内容的对齐方式,本文介绍Android中的layout_gravity与gravity属性,感兴趣的朋友一起看看吧2025-03-03
Android 游戏引擎libgdx 资源加载进度百分比显示案例分析
因为案例比较简单,所以简单用AndroidApplication -> Game -> Stage 搭建框架感兴趣的朋友可以参考下2013-01-01
Android编程实现自定义ProgressBar样式示例(背景色及一级、二级进度条颜色)
这篇文章主要介绍了Android编程实现自定义ProgressBar样式功能,涉及针对背景色及一级、二级进度条颜色的操作技巧,需要的朋友可以参考下2017-01-01


最新评论