时间:2021-05-21
下面给大家介绍Android 得到连接热点的ip的方法 ,具体代码如下所示:
WifiManager wifiManager = (WifiManager) this.getSystemService(Context.WIFI_SERVICE);if (!wifiManager.isWifiEnabled()) {System.out.println("=================");wifiManager.setWifiEnabled(true);}WifiInfo wifiInfo = wifiManager.getConnectionInfo();String IPAddress = intToIp(wifiInfo.getIpAddress());System.out.println("IPAddress-->>" + IPAddress);DhcpInfo dhcpinfo = wifiManager.getDhcpInfo();String serverAddress = intToIp(dhcpinfo.serverAddress);System.out.println("serverAddress-->>" + serverAddress);其中IPAddress 是本机的IP地址,serverAddress 是你所连接的wifi热点对应的IP地址
当在Android设备终端上使用Wifi热点的时候,需要获知Wifi热点的运行状态,热点是否打开,连接到该WIFI热点的设备数量,以及连接设备的具体IP和MAC地址。
使用re文件管理器去"/proc/net/arp",打开,发现连接上热点的设备信息都在这里了,包括mac ip等。
鉴于此,我们可以在代码中打开该文件,并获取WIFI热点的信息。
获取WIFI热点状态的方法getWifiApState()和判断热点是否可用的方法isApEnabled(),在Android源码WifiManager.Java中已经实现,但是它们是Hide方法,在SDK层面是不能访问的,如要访问需要用到java反射的机制。具体代码实现如下:
其中定义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热点的状态:
判断Wifi热点是否可用:
获取链接到当前热点的设备IP:
当然在应用中要添加访问WIFI设备的权限:
否则将会提示如下错误:
Cannot get WiFi AP state
总结
以上所述是小编给大家介绍的Android 得到连接热点的ip的方法 ,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
最近有很多网友向小编咨询这样的问题:通过读取/proc/net/arp文件可以得到连接当前热点的设备的IP,但是一旦设备断开后,该设备的IP还是存在该文件中,遇
手机看热点ip地址的方法是: 1、打开手机,选择设置。 2、进入设置页面选择wlan。 3、进入wlan管理,看见手机已经连接的网络。 4、点击进入,就
ip地址和开热点的那个手机是一样的,而Mac地址和开热点的那个手机不一样。IP地址就是给每个连接在互联网上的主机分配的一个32位地址。因为一台手机连接的是另一台
wifi搭桥设置的方法如下: 1、手机通过无线连接主路由器的无线网。 2、修改路由器IP。 3、关闭或设置DHCP服务器范围。 WiFi又称“行动热点”
以华为P30为例,连接热点共享网络的方法是: 1、进入“设置”,点击“WLAN”。 2、打开“WLAN”,点进热点网络名称。 3、输入密码连接即可。 在