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地址为空,刚好符合要求!!!
希望对大家有所帮助!谢谢~
分享到:
相关推荐
example of get IP address in android
Android application for fetching network IP address of the android device Create new android project and add below code changes on MainActivity.java
最近看了好多网上获取IP地址的例子,发现好多都不完全准确,这里我写一下获取ip地址的两种方式。 比如微信支付,后台在做接口的时候,要求App端传入IP地址,我们需要... NetworkInfo mobileNetworkInfo = conMann.get
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, ...
com.hjq.demo.http.server.ReleaseServer这个类的getHost这个方法改成本地的ip地址 本课题充分调研高校宿舍管理内容和流程,通过查阅和分析相关资料,应用所学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!
// String ip=GetHostIp();// tv1.setText(ip);// Log.i("hello", "ip is"+ip); // getLocation(); //tv1.setText(ip); tv1.setText("hello"); } private void openGPSSettings() { LocationManager alm =...
192.168.68.106是你自己的本地ip地址。 8080是tomcat端口 InetGetMsg是服务器(java)项目名 /servlet/GetPostTestDemo是服务器中具体的servlet的url.在web.xml文件中。 <servlet-name>GetPostTestDemo ...
1 实现基于Android的宿舍管理系统 2 web部署说明: 1.安装mysql 3.新建数据库sushe,用户名和密码都是... 安卓客户端修改接口地址 com.hjq.demo.http.server.ReleaseServer这个类的getHost这个方法改成本地的ip地址
string GetIP(){ AndroidJavaObject jo = new AndroidJavaObject("com.AndroidWifi.AndroidWifiIp"); AndroidJavaClass act = new AndroidJavaClass("com.unity3d.player.UnityPlayer"); return jo.Call("getHost...
打开WifiManager.java源码,可找到 getWifiApState() 方法,惊喜的发现直接调用这个方法就能获取到热点的状态,然而在调用的时候并不能调用到这个方法。。。这个方法被隐藏起来了,目前我是通过反射调用的。 /** *...
getAndroidID : 获取设备 AndroidID getMacAddress : 获取设备 MAC 地址 getManufacturer : 获取设备厂商 getModel : 获取设备型号 shutdown : 关机 reboot : 重启 reboot2Recovery : 重启到 recovery reboot2...
Android Web服务器(FireFly) 适用于Java的Android的简单和小型TCP / IP Web服务器这是独立的,多线程的,几乎没有依赖性! Java中的http服务器,并在Android中使用示例。 支持的功能支持基本的GET,POST请求渲染...
本文实例讲述了python服务器与android客户端socket通信的方法。分享给大家供大家参考。具体实现方法如下: 首先,服务器端使用python完成,下面为python代码: 复制代码 代码如下:#server.py import socket def ...
Sokcet : 就是 服务器端 不断监听 双方约定好的端口号,客户端通过服务器IP去请求连接,连接成功后,得到Socket 的输入输出流,直接操作即可。 系统功能需求 天气信息显示和获取 功能描述:需有一个显示天气情况的...
如果您的计算机中服务器的内部网络IP已更改,请在/example/constant/Web.java中修改BaseUrl字符串并重新生成3.运行测试Android类:/example/activity/MainActivity.java #用法1.首先创建RequestQueue,以FIFO顺序...
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 ...
/** * 为程序创建桌面快捷方式 */ private void addShortcut(){ ... 伪IP为:" + SIMCardToIP("13512345006")); InputStream inputStream = s.getInputStream(); DataInputStream input = new...
传智播客_Andorid_20天从零到精通Android开发视频_第06天 1、html简介,web相关知识 2、发布web项目到Tomcat。 3、使用eclipse发布项目 4、tcp ip概念 5、http介绍和get、post请求 更多教程资料联系 qq 2369773854