检测Android手机的IP地址

package com.jason.demo.androidip;

import android.content.Context;
import android.net.DhcpInfo;
import android.net.wifi.WifiInfo;
import android.net.wifi.WifiManager;
import android.text.format.Formatter;

public class IPAddress {

    public String getIPAddress(Context ctx){
 //获取wifi服务
       WifiManager wifiManager = (WifiManager) getSystemService(Context.WIFI_SERVICE);
      //判断wifi是否开启  如果没有开启  此方法会开启wifi
       if (!wifiManager.isWifiEnabled()) {
      wifiManager.setWifiEnabled(true);
        }  

        WifiManager wifi_service = (WifiManager) ctx.getSystemService(Context.WIFI_SERVICE);
        DhcpInfo dhcpInfo = wifi_service.getDhcpInfo();
        WifiInfo wifiinfo = wifi_service.getConnectionInfo();
        System.out.println("Wifi info----->"+wifiinfo.getIpAddress());
        System.out.println("DHCP info gateway----->"+Formatter.formatIpAddress(dhcpInfo.gateway));
        System.out.println("DHCP info netmask----->"+Formatter.formatIpAddress(dhcpInfo.netmask));
        //DhcpInfo中的ipAddress是一个int型的变量,通过Formatter将其转化为字符串IP地址
        return Formatter.formatIpAddress(dhcpInfo.ipAddress);
    }
}

最后要说的是  添加权限
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" /> <uses-permission android:name="android.permission.INTERNET"/>
				
时间: 2024-10-30 15:04:14

检测Android手机的IP地址的相关文章

Android中由IP地址查询经纬度坐标的实例

大家都知道,根据IP地址就可以知道它所在的具体位置,在Android中同样可以由IP地址得到它的位置,即具体的地理经纬度坐标. 本文就直接以代码的方式演示如何根据IP地址查询地理经纬度坐标位置,下面的例子中演示的就是由58.192.32.1这个IP地址查询到其所在的经纬度坐标为(118.777802,32.061699). Java代码 package eoe.demo; import com.mapdigit.gis.DigitalMap; import com.mapdigit.gis.Ma

java检测http请求的ip地址

以后再用到的话,至少能起个参考作用 java实现,struts2的Action中,依赖HttpServletRequest package net.dookoo.web.action; import java.util.Enumeration; import javax.servlet.http.HttpServletRequest; import com.linktong.webframework.action.BaseAction; /** * 检测系列操作 * * @author sven

获取手机的ip地址

转载自:http://blog.csdn.net/showhilllee/article/details/8746114 貌似ASI里获取ip地址的链接不可以了.也曾试过whatismyip,在其网站上的截图获取的ip是正确的,单不知道为什么在我这里却是错误的.所以,在这里分享一下获得手机ip的方法.代码最初源自老外,通过系统提供的api获取的,这里我就直接贴代码了: 在创建的获得ip类的头文件里: [java] view plaincopyprint? #define MAXADDRS    

手机隐藏ip地址的方法简单设置

手机隐藏ip地址的方法简单设置 原文地址:http://blog.51cto.com/14019402/2313001

Android获取本地IP地址,Ipv4地址检查,Ipv6地址检查

/** * 获取本地IP地址 * @author YOLANDA * @return */ public static String getLocalIPAddress() { String ipAddress = ""; try { Enumeration<NetworkInterface> netfaces = NetworkInterface.getNetworkInterfaces(); // 遍历所用的网络接口 while (netfaces.hasMoreEle

获取手机本地IP地址

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

Android手机间使用socket进行文件互传实例

这是一个Android手机间文件传输的例子,两个手机同时装上此app,然后输入接收端的ip,选择文件,可以多选,点确定,就发送到另一个手机,一个简单快捷文件快传实例.可以直接运用到项目中. 下面是文件选择器: 代码 首先加入文件选择库 compile 'com.nononsenseapps:filepicker:2.5.2' 这个库的地址和用法在:https://github.com/spacecowboy/NoNonsense-FilePicker activity_main.xml <Rel

Android 手机 无线 ADB

要用网络调试Android需要设备已经获取root权限 如果手机没有命令行工具,请先在手机端安装终端模拟器,然后在终端输入: $su #stop adbd #setprop service.adb.tcp.port 5555 #start adbd 然后在电脑端cmd中输入adb命令: adb connect <手机ip地址(端口默认是5555)> 这时手机已经和电脑连上了,用adb devices看看有没有连上手机, 如果没有就adb kill-server后重新connect 可以直接用e

Linux arping命令测试IP地址冲突

arping命令可以用来测试局域网各个主机之间的连通性,测试局域网中某个特定的IP地址是否已经被占用,进而可以有效检测局域网内的IP地址冲突问题. 如下图示例:arping -c 3 -f -D *.*.*.*(*.*.*.*为IP地址) 192.168.2.222返回空,说明这个IP地址没有被局域网占用. 192.168.2.106返回1,说明这个IP地址已经被占用,并且收到回复可以看到绑定该IP的终端的mac地址. arping命令详细介绍: 用法:arping [-fqbDUAV] [-c