【问题标题】:Getting country code with the help of device IP address借助设备 IP 地址获取国家代码
【发布时间】:2024-01-13 08:48:01
【问题描述】:

我正在开发一个具有注册流程的应用程序,我的要求是:

要求:

  1. 借助设备 IP 地址追踪自动选择国家代码。
  2. 在注册期间检测用户位置并保存。

我搜索了一下,但没有找到任何可以导致答案的有用信息,一定有办法,但那是什么?请让我指路

【问题讨论】:

    标签: android geolocation ip ip-address


    【解决方案1】:

    如果您在注册期间输入用户地址作为输入,您可以从地址中找到地理坐标。更多信息见https://developers.google.com/maps/documentation/geocoding/#Geocoding

    关于 IP 地址的国家代码,您还可以使用在线服务,例如 http://www.whois.net/ip-address-lookup/ 并解析响应以检索国家代码。 Here 是如何解析它的(代码是 PHP 的,但你可以很容易地修改它)

    【讨论】:

      【解决方案2】:

      获取用户位置:

      String locationProvider = LocationManager.NETWORK_PROVIDER;
      // Or use LocationManager.GPS_PROVIDER
      Location lastKnownLocation = locationManager.getLastKnownLocation(locationProvider);
      

      http://developer.android.com/guide/topics/location/strategies.html

      使用 GeoCoder 获取地址(带国家)

      GeoCoder.getFromLocation()
      

      http://developer.android.com/reference/android/location/Geocoder.html

      【讨论】:

        最近更新 更多