2

我正在尝试让我的应用程序在连接到 Wifi 网络时检索 IP 地址,但我不太确定如何完成。

我查看了 RadioInfo 并且有一个函数 getIPAddress(int apnId)。这是正确的吗?

我还查看了 WLANInfo,但似乎没有任何与 IP 相关的功能。

任何人都可以帮助我吗?

4

1 回答 1

1

克柳宾写道:

[...] 最好的解决方案(因为它依赖于记录的行为)是通过 WiFi 打开一个 udp 套接字(或 TCP 服务器套接字)并查询其 IP 地址。另一个技巧是使用 getAccessPointNumber 获取“MagicRudyAPN.rim”的 APN ID,然后使用 getIPAddress 查询其 IP 地址。MagicRudyAPN.rim 似乎是一个虚拟/假 APN,用于访问/寻址到 WiFi 网络的 IP 隧道。

int apnId = RadioInfo.getAccessPointNumber("MagicRudyAPN.rim");
byte[] ipByte = RadioInfo.getIPAddress(apnId);
String ip = "";
for (int i = 0; i < ipByte.length; i++) {
    int temp = (ipByte[i] & 0xff);
    if (i < 3)
        ip = ip.concat("" + temp + ".");
    else {
        ip = ip.concat("" + temp);
    }
}

于 2009-12-07T05:20:16.747 回答