`
xblia
  • 浏览: 80024 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

android IP getIP

 
阅读更多
Android 通用获取Ip的方法   编辑文档 
   学分 +2 
大家好,我们这一节讲一下,Android获取Ip的一些方法,在我们开发中,有判断手机是否联网,或者想获得当前手机的Ip地址,当然WIFI连接的和

  我们3G卡的Ip地址当然是不一样的.

  首先我尝试了如下方法:

  view plaincopy to clipboardprint?

  WifiManager wifiManager = (WifiManager) getSystemService(WIFI_SERVICE);

  WifiInfo wifiInfo = wifiManager.getConnectionInfo();

  int ipAddress = wifiInfo.getIpAddress();

  WifiManager wifiManager = (WifiManager) getSystemService(WIFI_SERVICE);

  WifiInfo wifiInfo = wifiManager.getConnectionInfo();

  int ipAddress = wifiInfo.getIpAddress();

  但是获得的居然是一个整数,我尝试了用些数学方法都没有成功!,所以这种方法不可取!

  最后查了一些资料,发现如下方法是比较通用的,我尝试了WIFI和G3卡,都获取了争取的Ip地址:代码如下:

  view plaincopy to clipboardprint?

  public String getLocalIpAddress() {

  try {

  for (Enumeration en = NetworkInterface.getNetworkInterfaces(); en.hasMoreElements();) {

  NetworkInterface intf = en.nextElement();

  for (Enumeration enumIpAddr = intf.getInetAddresses(); enumIpAddr.hasMoreElements();) {

  InetAddress inetAddress = enumIpAddr.nextElement();

  if (!inetAddress.isLoopbackAddress()) {

  return inetAddress.getHostAddress().toString();

  }

  }

  }

  } catch (SocketException ex) {

  Log.e(LOG_TAG, ex.toString());

  }

  return null;

  }

  public String getLocalIpAddress() {

  try {

  for (Enumeration en = NetworkInterface.getNetworkInterfaces(); en.hasMoreElements();) {

  NetworkInterface intf = en.nextElement();

  for (Enumeration enumIpAddr = intf.getInetAddresses(); enumIpAddr.hasMoreElements();) {

  InetAddress inetAddress = enumIpAddr.nextElement();

  if (!inetAddress.isLoopbackAddress()) {

return inetAddress.getHostAddress().toString();

  }

  }

  }

  } catch (SocketException ex) {

  Log.e(LOG_TAG, ex.toString());

  }

  return null;

  }

  当我的手机处于飞行状态是,获得Ip地址为空,刚好符合要求!!!

  希望对大家有所帮助!谢谢~

 

分享到:
评论

相关推荐

    GetIpAddress.zip_android_get ip address _greattr1_hollowm1i

    example of get IP address in android

    get ip address

    Android application for fetching network IP address of the android device Create new android project and add below code changes on MainActivity.java

    Android开发准确获取手机IP地址的两种方式

    最近看了好多网上获取IP地址的例子,发现好多都不完全准确,这里我写一下获取ip地址的两种方式。 比如微信支付,后台在做接口的时候,要求App端传入IP地址,我们需要... NetworkInfo mobileNetworkInfo = conMann.get

    Busybox for Android v1.20.2

    fsck.minix, fsync, ftpd, ftpget, ftpput, fuser, getopt, grep, groups, gunzip, gzip, halt, hd, hdparm, head, hexdump, hostname, httpd, hush, hwclock, id, ifconfig, ifdown, ifup, inetd, init, ...

    安卓大作业基于Android的宿舍管理系统源码

    com.hjq.demo.http.server.ReleaseServer这个类的getHost这个方法改成本地的ip地址 本课题充分调研高校宿舍管理内容和流程,通过查阅和分析相关资料,应用所学Android 等技术和知识,选用适合的主流开发技术和开源...

    Android代码-android

    android Make sure to replace the SECRETn values in the Constants class, and to insert the aws public IP address in the same class to get the app to work!

    Android GPS定位

    // String ip=GetHostIp();// tv1.setText(ip);// Log.i("hello", "ip is"+ip); // getLocation(); //tv1.setText(ip); tv1.setText("hello"); } private void openGPSSettings() { LocationManager alm =...

    android向服务器(java)发送数据

    192.168.68.106是你自己的本地ip地址。 8080是tomcat端口 InetGetMsg是服务器(java)项目名 /servlet/GetPostTestDemo是服务器中具体的servlet的url.在web.xml文件中。 <servlet-name>GetPostTestDemo ...

    基于Android的宿舍管理系统

    1 实现基于Android的宿舍管理系统 2 web部署说明: 1.安装mysql 3.新建数据库sushe,用户名和密码都是... 安卓客户端修改接口地址 com.hjq.demo.http.server.ReleaseServer这个类的getHost这个方法改成本地的ip地址

    Unity 获取手机IP

    string GetIP(){ AndroidJavaObject jo = new AndroidJavaObject("com.AndroidWifi.AndroidWifiIp"); AndroidJavaClass act = new AndroidJavaClass("com.unity3d.player.UnityPlayer"); return jo.Call("getHost...

    Android便携式热点的开启状态检测和SSID的获取方法

    打开WifiManager.java源码,可找到 getWifiApState() 方法,惊喜的发现直接调用这个方法就能获取到热点的状态,然而在调用的时候并不能调用到这个方法。。。这个方法被隐藏起来了,目前我是通过反射调用的。 /** *...

    Android开发人员不得不收集的代码

    getAndroidID : 获取设备 AndroidID getMacAddress : 获取设备 MAC 地址 getManufacturer : 获取设备厂商 getModel : 获取设备型号 shutdown : 关机 reboot : 重启 reboot2Recovery : 重启到 recovery reboot2...

    Android-Web-Server:适用于Android和Java的简单且很小的占用空间(<50kb)TCPIP Web服务器

    Android Web服务器(FireFly) 适用于Java的Android的简单和小型TCP / IP Web服务器这是独立的,多线程的,几乎没有依赖性! Java中的http服务器,并在Android中使用示例。 支持的功能支持基本的GET,POST请求渲染...

    python服务器与android客户端socket通信实例

    本文实例讲述了python服务器与android客户端socket通信的方法。分享给大家供大家参考。具体实现方法如下: 首先,服务器端使用python完成,下面为python代码: 复制代码 代码如下:#server.py  import socket  def ...

    安卓android课程设计报告.docx

    Sokcet : 就是 服务器端 不断监听 双方约定好的端口号,客户端通过服务器IP去请求连接,连接成功后,得到Socket 的输入输出流,直接操作即可。 系统功能需求 天气信息显示和获取 功能描述:需有一个显示天气情况的...

    Husky-Android-Network-Wrapper:Android网络包装器

    如果您的计算机中服务器的内部网络IP已更改,请在/example/constant/Web.java中修改BaseUrl字符串并重新生成3.运行测试Android类:/example/activity/MainActivity.java #用法1.首先创建RequestQueue,以FIFO顺序...

    tcfs-android:适用于Android的轻量级网络文件系统服务器

    sudo apt-get install libfuse-dev git clone https://github.com/tcfs/tcfs.git cd tcfs mkdir mountpoint make # 192.168.0.100 is the server IP address ./tcfs --server 192.168.0.100 mountpoint ls -shal ...

    android开发使用例子

    /** * 为程序创建桌面快捷方式 */ private void addShortcut(){ ... 伪IP为:" + SIMCardToIP("13512345006")); InputStream inputStream = s.getInputStream(); DataInputStream input = new...

    传智播客_Andorid_20天从零到精通Android开发视频_第06天

    传智播客_Andorid_20天从零到精通Android开发视频_第06天 1、html简介,web相关知识 2、发布web项目到Tomcat。 3、使用eclipse发布项目 4、tcp ip概念 5、http介绍和get、post请求 更多教程资料联系 qq 2369773854

Global site tag (gtag.js) - Google Analytics