如何获取设备的公共IP地址?

时间:2014-01-29 18:40:55

标签: java android

是否可以使用Android中的某些Java代码获取设备的公共IP地址?

我可以使用curl与php到远程服务器来了解公共IP吗?但我不知道如何在Java中使用curl。

我需要基于公共IP地址的用户所在国家/地区的代码。

我只需要用户的公共IP代码稍后查看国家/地区

1 个答案:

答案 0 :(得分:-1)

  public String getIpAddr() {
       WifiManager wifiManager = (WifiManager) getSystemService(WIFI_SERVICE);
       WifiInfo wifiInfo = wifiManager.getConnectionInfo();
       nt 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.INTERNET和android.permission.ACCESS_WIFI_STATE以访问代码。

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

通过Detect wifi IP address on Android?,用户Tanmay Mandal