原文:http://www.cnblogs.com/android100/p/Android-get-ip.html

1.使用WIFI

首先设置用户权限

  1. <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"></uses-permission>
  2. <uses-permission android:name="android.permission.CHANGE_WIFI_STATE"></uses-permission>
  3. <uses-permission android:name="android.permission.WAKE_LOCK"></uses-permission>

其次,代码如下

  1. public void onCreate(Bundle savedInstanceState) {
  2. super.onCreate(savedInstanceState);
  3. setContentView(R.layout.main);
  4. //获取wifi服务
  5. WifiManager wifiManager = (WifiManager) getSystemService(Context.WIFI_SERVICE);
  6. //判断wifi是否开启
  7. if (!wifiManager.isWifiEnabled()) {
  8. wifiManager.setWifiEnabled(true);
  9. }
  10. WifiInfo wifiInfo = wifiManager.getConnectionInfo();
  11. int ipAddress = wifiInfo.getIpAddress();
  12. String ip = intToIp(ipAddress);
  13. EditText et = (EditText)findViewById(R.id.EditText01);
  14. et.setText(ip);
  15. }
  16. private String intToIp(int i) {
  17. return (i & 0xFF ) + "." +
  18. ((i >> 8 ) & 0xFF) + "." +
  19. ((i >> 16 ) & 0xFF) + "." +
  20. ( i >> 24 & 0xFF) ;
  21. }

2.使用GPRS

首先,设置用户上网权限

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

其次,代码如下

  1. public String getLocalIpAddress()
  2. {
  3. try
  4. {
  5. for (Enumeration<NetworkInterface> en = NetworkInterface.getNetworkInterfaces(); en.hasMoreElements();)
  6. {
  7. NetworkInterface intf = en.nextElement();
  8. for (Enumeration<InetAddress> enumIpAddr = intf.getInetAddresses(); enumIpAddr.hasMoreElements();)
  9. {
  10. InetAddress inetAddress = enumIpAddr.nextElement();
  11. if (!inetAddress.isLoopbackAddress())
  12. {
  13. return inetAddress.getHostAddress().toString();
  14. }
  15. }
  16. }
  17. }
  18. catch (SocketException ex)
  19. {
  20. Log.e("WifiPreference IpAddress", ex.toString());
  21. }
  22. return null;
  23. }

Android获取ip地址的更多相关文章

  1. android获取Mac地址和IP地址

    获取Mac地址实际项目中测试了如下几种方法:(1)设备开通Wifi连接,获取到网卡的MAC地址(但是不开通wifi,这种方法获取不到Mac地址,这种方法也是网络上使用的最多的方法) //根据Wifi信 ...

  2. windows下获取IP地址的两种方法

    windows下获取IP地址的两种方法: 一种可以获取IPv4和IPv6,但是需要WSAStartup: 一种只能取到IPv4,但是不需要WSAStartup: 如下: 方法一:(可以获取IPv4和I ...

  3. 【PHP开发篇】一个统计客户端商机提交的获取IP地址

    1.对客服提交数据的ip地址记录. 获取ip地址的方法: public function getIP() { global $ip; if (getenv("HTTP_X_REAL_IP&q ...

  4. 获取 IP 地址

    package j2se.core.net.base; import java.net.InetAddress;import java.net.UnknownHostException; public ...

  5. js获取IP地址方法总结_转

    js代码获取IP地址的方法,如何在js中取得客户端的IP地址.原文地址:js获取IP地址的三种方法 http://www.jbxue.com/article/11338.html 1,js取得IP地址 ...

  6. iOS 获取IP地址

    一.获取本机IP地址 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 #import <ifadd ...

  7. Linux下Python获取IP地址

    <lnmp一键安装包>中需要获取ip地址,有2种情况:如果服务器只有私网地址没有公网地址,这个时候获取的IP(即私网地址)不能用来判断服务器的位置,于是取其网关地址用来判断服务器在国内还是 ...

  8. 【Qt】QT5 获取IP地址

    QT获取本机IP地址 #include <QtNetwork/QHostAddress> #include <QtNetwork/QNetworkInterface> #inc ...

  9. ARM-Linux配置DHCP自动获取IP地址

    备注:内核版本:2.6.30.9busybox版本:1.15.2 PC Linux和开发板Linux的工作用户:root 1. 配置内核:[*] Networking support --->N ...

随机推荐

  1. [cc150] 硬币问题

    Given an infinite number of quarters (25 cents), dimes (10 cents), nickels (5 cents) and pennies (1 ...

  2. underscore vs jquery

    http://wordpress.tv/2013/06/23/k-adam-white-underscore-and-backbone-jquerys-new-friends/ http://www. ...

  3. IOS 接ShareSDK问题

    如果报错AGCommon 等错误 引用libicucore.A.dylib ShareSDK 官网 管理中心 → 创建一个新的应用 获得key之后  啥都别做.! - (BOOL)applicatio ...

  4. MySQL JDBC的setFetchSize

    MySQL JDBC的setFetchSize http://uuhorse.iteye.com/blog/2163582 http://blog.sina.com.cn/s/blog_6706203 ...

  5. php重定向 htaccess文件的编写

    主页的url重写规则:/controller/action.html(其中第一个英文代表控制器,第二个英文代表动作,映射到:index.php?c=controller&a=action) 后 ...

  6. [wikioi]合并果子

    http://wikioi.com/problem/1063/ 这题是贪心+堆.主要想练习一下堆的写法.算法导论里的方法名是heapify()等,但大家经常用更直观的down(), up()方法(向上 ...

  7. Altium Designer学习: 允许闭合回路

    使用AltiumDesigner画PCB时,顶层和底层都有电源线走 但是通过过孔链接的,主要是因为我这里可使用了几个相同的电源接口,把这些上下层的电源接口连在一起就很容易画出闭合回路,这自身没有太大的 ...

  8. linux下 修改配置文件的命令

    vi或vim 进入后,按i,屏幕下方会出现INSERT字样,此时可以修改内容 按ESC,退回命令模式 :x是保存退出 :q!是不保存退出

  9. JNI编程(二) —— 让C++和Java相互调用(2)

    3.getRamdomOrder() 这个方法会从backend得到一个随机的Order对象(抱歉这里“Random”拼错了),然后再调用java中相应的通知方法来通知foreground.getRa ...

  10. RHEL/CentOS/Fedora常用的 CentOS 5/6/7 yum 源(EPEL、Remi、RPMForge、RPMFusion, ius,163,sohu,阿里云)配置

    RHEL以及他的衍生发行版如CentOS.Scientific Linux为了稳定,官方的rpm repository提供的rpm包往往是很滞后的,当然了,这样做这是无可厚非的,毕竟这是服务器版本,安 ...