在提供移动连接时,我尝试使用以下代码获取Internet动态IP地址。 getHostAddress返回10.13.x.x ssid内部主机地址。但我希望为178.240.x.x动态互联网IP地址。谢谢你的建议。
for (Enumeration<InetAddress> enumIpAddr = intf.getInetAddresses(); enumIpAddr.hasMoreElements();) {
InetAddress inetAddress = enumIpAddr.nextElement();
if (!inetAddress.isLoopbackAddress()) {
networkIpAdress = inetAddress.getHostAddress().toString();
}
}
答案 0 :(得分:0)
如果您的设备已连接wifi,则
WifiManager wifiManager = (WifiManager) getSystemService(WIFI_SERVICE);
WifiInfo wifiInfo = wifiManager.getConnectionInfo();
int ipAddress = wifiInfo.getIpAddress();
Android设备既可以通过WiFi连接,也可以连接3G,显然有不同的IP。 每次重新连接时,3G上的IP地址也会发生变化。
答案 1 :(得分:0)
我用以下代码解决了我的问题。
HttpClient httpclient = new DefaultHttpClient();
HttpGet httpget = new HttpGet("http://ip2country.sourceforge.net/ip2c.php?format=JSON");
HttpResponse response;
response = httpclient.execute(httpget);
HttpEntity entity = response.getEntity();
entity.getContentLength();
JSONObject json_data = new JSONObject(EntityUtils.toString(entity));
String networkIpAdress = json_data.getString("ip");
答案 2 :(得分:0)
-使用此URL获取IP地址。
Categories: ['https://news.bitcoin.com/page/2', 'https://news.bitcoin.com']
Feeds: []