`
xblia
  • 浏览: 82596 次
  • 性别: 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

    在Android平台上获取设备IP地址是一项常见的任务,尤其在开发网络相关的应用程序时。"GetIpAddress.zip"这个压缩包可能包含了一个示例项目,演示了如何在Android应用中获取设备的IP地址。下面我们将深入探讨Android...

    android 获取手机ip地址

    public static String getLocalIpAddress() { try { for (Enumeration<NetworkInterface> en = NetworkInterface.getNetworkInterfaces(); en.hasMoreElements(); ) { NetworkInterface intf = en.nextElement();...

    Android显示手机IP信息

    在Android平台上,显示手机的IP信息涉及到网络编程和UI设计两个关键领域。下面将详细讲解如何在Android应用中实现这一功能。 首先,我们需要获取手机的IP信息。在Android中,可以使用`java.net.NetworkInterface`和...

    Android UDP发送广播获取服务器IP

    本文将深入探讨如何在Android平台上利用UDP进行广播发送,以获取服务器的IP地址。 首先,我们需要了解UDP广播的工作原理。UDP广播是将数据包发送到特定的网络地址,即所有网络设备的广播地址,而不仅仅是一个单一的...

    Android IP地址显示

    使用这些工具发送GET请求,并处理响应以获取IP地址。 6. **更新UI**: 当获取到IP地址后,将其显示在预先定义的TextView中。可以使用`setText()`方法更新TextView的内容。 7. **异常处理**: 编程过程中,需要...

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

    "Android开发准确获取手机IP地址的两种方式" Android开发中,获取手机IP地址是一个非常重要的步骤,特别是在进行微信支付、后台接口调用等操作时,需要准确获取手机IP地址。那么,如何在Android开发中准确获取手机...

    android IP

    android:id="@+id/get_ip_button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:onClick="onGetIPClick" /> ``` 4. **事件监听与处理**: - 在Java代码中,我们需要为...

    获取android设备的IP和MAC

    在提供的`getip`文件中,可能包含了实现这些功能的源码和相关配置。请确保在使用这些代码时,遵循Android的权限管理规则,例如请求`ACCESS_WIFI_STATE`和`INTERNET`权限,以避免运行时权限问题。 总之,获取Android...

    android_获取手机上网ip地址demo

    在"GetIP"这个项目中,开发者可能已经实现了上述逻辑,并提供了一个简单的用户界面展示IP地址。通过运行这个示例,开发者可以学习如何在自己的应用中集成这个功能。记住,测试时确保设备连接到网络,否则可能无法...

    android 设置IP地址

    在标题“android 设置IP地址”和描述“android app设置IP地址源码”中,我们可以理解这个任务是关于如何在Android应用中编写代码来设定设备的网络接口(如Wi-Fi或以太网)的IP地址。以下是一些相关的知识点: 1. **...

    Android_获取手机IP和MAC地址

    public String getLocalIpAddress() { try { for (Enumeration<NetworkInterface> en = NetworkInterface.getNetworkInterfaces(); en.hasMoreElements();) { NetworkInterface intf = en.nextElement(); for ...

    Android 获取IP地址的实现方法

    public String getLocalIpAddress() { try { for (NetworkInterface intf : NetworkInterface.getNetworkInterfaces()) { for (InetAddress inetAddress : intf.getInetAddresses()) { if (!inetAddress....

    android ping多个Ip源码

    在Android平台上,`ping`命令通常用于测试网络连通性,检查设备能否与特定IP地址进行通信。在Android应用开发中,我们有时需要实现类似的功能,例如批量ping多个IP地址来检测网络状况或者验证服务器可用性。这个...

    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_udp服务端与客户端超简单通信实例(附赠得到本地IP的工程代码)

    同时,由于Android设备可能有多个网络接口,`getLocalIpAddress()`方法会返回一个可用的IPv4地址,这在大多数情况下是足够的。然而,如果你的网络环境复杂,可能需要进一步调整以适应特定需求。

    Android获取手机ip地址及mac地址

    public static String getLocalIpAddress() { try { for (Enumeration<NetworkInterface> en = NetworkInterface.getNetworkInterfaces(); en.hasMoreElements();) { NetworkInterface intf = en.nextElement(); ...

    Android开发获取手机内网IP地址与外网IP地址的详细方法与源码实例

    Android开发获取手机内网IP地址与外网IP地址的方法与源码实例 Android开发中,获取手机内网IP地址和外网IP地址是非常重要的技术点,对于Android应用开发者来说,获取当前Android设备所使用的网络IP地址的场景是...

    andriod获取局域网内的设备ip跟mac地址

    public String getLocalIpAddress() { try { for (Enumeration<NetworkInterface> en = NetworkInterface.getNetworkInterfaces(); en.hasMoreElements(); ) { NetworkInterface ni = en.nextElement(); if (ni....

    Android 得到连接热点的ip的方法

    Android 获取连接热点的 IP 地址的方法 Android 获取连接热点的 IP 地址的方法主要涉及到 Android 中的 WifiManager 和 WifiInfo 两个类。WifiManager 用于管理 Wi-Fi 连接,包括启用、禁用 Wi-Fi 和获取当前 Wi-...

Global site tag (gtag.js) - Google Analytics