Android 手机上获取手机当前上网IP地址(手机网关给手机号分配的IP)
2012-05-16 22:40
501 查看
Android 手机上获取手机当前上网IP地址
(手机网关给手机号分配的IP)
每个手机上网通过移动网关的时候,网关都会给该手机号分配一个IP地址(当然这个IP地址会在下线上线后会改变,网关都有记录的)
现在做的应用需要获取该IP地址,提交给服务器,代码如下:
/** * 用来获取手机拨号上网(包括CTWAP和CTNET)时由PDSN分配给手机终端的源IP地址。 * * @return * @author SHANHY */ public static String getPsdnIp() { try { for (Enumeration<NetworkInterface> en = NetworkInterface.getNetworkInterfaces(); en.hasMoreElements();) { NetworkInterface intf = en.nextElement(); for (Enumeration<InetAddress> enumIpAddr = intf.getInetAddresses(); enumIpAddr.hasMoreElements();) { InetAddress inetAddress = enumIpAddr.nextElement(); if (!inetAddress.isLoopbackAddress()) { return inetAddress.getHostAddress().toString(); } } } } catch (Exception e) { } return ""; }
如上这样写,在有些情况下就会有问题了,比如我现在用的是安卓4.0系统的手机,按上面的方法默认会先获取到ipv6的地址,有时候我们只想要ipv4的地址,就需要再多做个类型判断,代码如下:
/** * 用来获取手机拨号上网(包括CTWAP和CTNET)时由PDSN分配给手机终端的源IP地址。 * * @return * @author SHANHY */ public static String getPsdnIp() { try { for (Enumeration<NetworkInterface> en = NetworkInterface.getNetworkInterfaces(); en.hasMoreElements();) { NetworkInterface intf = en.nextElement(); for (Enumeration<InetAddress> enumIpAddr = intf.getInetAddresses(); enumIpAddr.hasMoreElements();) { InetAddress inetAddress = enumIpAddr.nextElement(); if (!inetAddress.isLoopbackAddress() && inetAddress instanceof Inet4Address) { //if (!inetAddress.isLoopbackAddress() && inetAddress instanceof Inet6Address) { return inetAddress.getHostAddress().toString(); } } } } catch (Exception e) { } return ""; }
----------------------------------------------------------------------------
谢谢~~~
相关文章推荐
- Android 手机上获取手机当前上网IP地址
- Android 手机上获取手机当前上网IP地址
- android 获取手机上面的IMSI序列号,IMEI,MAC地址,IP地址,当前时间,当前经纬度,获取网络类型
- Android获取手机WiFi IP地址,MAC地址和网关地址程序实例
- 获取android手机当前网络链接IP的方法
- android 获取当前设备的ip地址 mac地址 设备号 手机号 运营商信息
- Android获取如何获取当前手机IP地址
- Android获取如何获取当前手机IP地址
- 如何获取Android手机连接网络的当前局域网IP
- Android 手机获取当前IP
- 获取android手机当前ip地址
- 如何获取Android手机连接当前网络的外网IP
- android_获取手机当前ip地址和唯一标识码
- android设备获取当前所用网络类型和获取手机ip地址
- Android 手机获取手机号实现方法
- Android获取手机地址(Mac、ip和imei)
- android手机两种方式获取IP地址
- 一个有用的类,集合了建立、连接热点;获取本机ip和连接此热点的手机的ip地址等方法
- Android获取和判断当前手机状态和信息
- android开发工具类之获得WIFI IP地址或者手机网络IP