在Android上检测wifi IP地址? [英] Detect wifi IP address on Android?

查看:27
本文介绍了在Android上检测wifi IP地址?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我需要确定Android设备是否连接到Wifi,如果是,则获取其Wifi IP地址.

I need to determine if the Android device is connected to Wifi, and if so, obtain its Wifi IP address.

我知道如何使用 ConnectivityManager 来确定活动网络是否是 Wifi 网络,并且我知道如何使用 java.net.NetworkInterface 遍历可用的网络接口并获取它们的 IP 地址.

I know how to use ConnectivityManager to determine whether the active network is a Wifi network, and I know how to use java.net.NetworkInterface to iterate over the available network interfaces and get their IP addresses.

如果找到多个地址,我不知道该怎么做是确定哪个IP地址属于Wifi网络.有什么建议吗?

What I don't know how to do is determine which IP address belongs to the Wifi network, if there is more than one address found. Any advice?

谢谢.

推荐答案

public String getIpAddr() {
   WifiManager wifiManager = (WifiManager) getSystemService(WIFI_SERVICE);
   WifiInfo wifiInfo = wifiManager.getConnectionInfo();
   int ip = wifiInfo.getIpAddress();

   String ipString = String.format(
   "%d.%d.%d.%d",
   (ip & 0xff),
   (ip >> 8 & 0xff),
   (ip >> 16 & 0xff),
   (ip >> 24 & 0xff));

   return ipString;
}

请注意:您需要在 AndroidManifest.xml 中添加 android.permission.INTERNETandroid.permission.ACCESS_WIFI_STATE 作为 访问代码.

Please Note: You need to add android.permission.INTERNET and android.permission.ACCESS_WIFI_STATE in your AndroidManifest.xml as <user-permission/> to access the code.

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

这篇关于在Android上检测wifi IP地址?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆