获取用于从Android设备

时间:2016-10-02 23:11:04

标签: android firebase ip public

我正在创建一个将数据发送到Firebase服务器的Android应用。我无法做的是获取用于连接Firebase服务器的公共IP地址。当用户使用3G时,下面的代码给出了无用的私有IP,因为每次用户通过移动数据连接到3G时它就会发生变化。 因此,我想获取用于向Firebase服务器发出请求的公共IP地址

如果我没错,下面的代码会给我私有IP地址。

WifiManager wifiMan = (WifiManager) getSystemService(Context.WIFI_SERVICE);
WifiInfo wifiInf = wifiMan.getConnectionInfo();
int ipAddress = wifiInf.getIpAddress();

1 个答案:

答案 0 :(得分:2)

如果设备连接到网络服务提供商的蜂窝数据,那么您可能无法获得所需的行为。他们的内部路由器可能会也可能不会共享该IP,或阻止某些网络流量。

但是,您可以点击可以提供此信息的外部网站。

请尝试以下操作之一:

  1. WhatIsMyIP.com为此类活动提供了开发人员API。

    https://www.whatismyip.com/api-documentation/

    比仅仅点击服务器本身更容易。

  2. http://ifcfg.me/ip

    它只返回最原始形式的IP地址。

  3. 希望其中一条能让你走上正确的道路。