Android获取手机地址(Mac、ip和imei)
2013-12-17 09:21
471 查看
第一种:该方法只有在连接wifi的情况下
WifiManager wifiMan = (WifiManager) getSystemService(Context.WIFI_SERVICE);
WifiInfo info = wifiMan.getConnectionInfo();
String mac = info.getMacAddress();// 获得本机的MAC地址
String ssid = info.getSSID();// 获得本机所链接的WIFI名称
int ipAddress = info.getIpAddress();
String ipString = "";
if (ipAddress != 0) {
ipString = ((ipAddress & 0xff) + "." + (ipAddress >> 8 & 0xff) + "."
+ (ipAddress >> 16 & 0xff) + "." + (ipAddress >> 24 & 0xff));
}
第二种:该方法使用与wifi和3G
try {
for (Enumeration<NetworkInterface> en = NetworkInterface
.getNetworkInterfaces(); en.hasMoreElements();) {
NetworkInterface intf = en.nextElement();
for (Enumeration<InetAddress> enumIpAddr = intf
.getInetAddresses(); enumIpAddr.hasMoreElements();) {
InetAddress inetAddress = enumIpAddr.nextElement();
if (!inetAddress.isLoopbackAddress()) {
String ipString = inetAddress.getHostAddress().toString();
if(ipString.length()<=15){ //限制得到ipv4,否则会同时得到ipv4和ipv6
GlobalInfo.IP = ipString;
}
}
}
}
} catch (SocketException ex) {
Log.e("WifiPreference IpAddress", ex.toString());
}
第三种:获得IP地址反射的方法(此方法还未验证)
try {
Field field = info.getClass().getDeclaredField("mIpAddress");
field.setAccessible(true);
ipString = (String) field.get(info);
System.out.println("obj" + ipString);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
获取IMEI码:
TelephonyManager tm = (TelephonyManager) this.getSystemService(Context.TELEPHONY_SERVICE);
String imei = "DeviceId(IMEI) = " + tm.getDeviceId();
或String strImei = ((TelephonyManager) getSystemService(TELEPHONY_SERVICE)).getDeviceId();
添加权限:
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
WifiManager wifiMan = (WifiManager) getSystemService(Context.WIFI_SERVICE);
WifiInfo info = wifiMan.getConnectionInfo();
String mac = info.getMacAddress();// 获得本机的MAC地址
String ssid = info.getSSID();// 获得本机所链接的WIFI名称
int ipAddress = info.getIpAddress();
String ipString = "";
if (ipAddress != 0) {
ipString = ((ipAddress & 0xff) + "." + (ipAddress >> 8 & 0xff) + "."
+ (ipAddress >> 16 & 0xff) + "." + (ipAddress >> 24 & 0xff));
}
第二种:该方法使用与wifi和3G
try {
for (Enumeration<NetworkInterface> en = NetworkInterface
.getNetworkInterfaces(); en.hasMoreElements();) {
NetworkInterface intf = en.nextElement();
for (Enumeration<InetAddress> enumIpAddr = intf
.getInetAddresses(); enumIpAddr.hasMoreElements();) {
InetAddress inetAddress = enumIpAddr.nextElement();
if (!inetAddress.isLoopbackAddress()) {
String ipString = inetAddress.getHostAddress().toString();
if(ipString.length()<=15){ //限制得到ipv4,否则会同时得到ipv4和ipv6
GlobalInfo.IP = ipString;
}
}
}
}
} catch (SocketException ex) {
Log.e("WifiPreference IpAddress", ex.toString());
}
第三种:获得IP地址反射的方法(此方法还未验证)
try {
Field field = info.getClass().getDeclaredField("mIpAddress");
field.setAccessible(true);
ipString = (String) field.get(info);
System.out.println("obj" + ipString);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
获取IMEI码:
TelephonyManager tm = (TelephonyManager) this.getSystemService(Context.TELEPHONY_SERVICE);
String imei = "DeviceId(IMEI) = " + tm.getDeviceId();
或String strImei = ((TelephonyManager) getSystemService(TELEPHONY_SERVICE)).getDeviceId();
添加权限:
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
相关文章推荐
- 【小功能2】android获取手机信息(号码,内存,CPU,分辨率,MAC,IP,SD卡,IMEI,经纬度,信号强度等等)
- 【小功能2】android获取手机信息(号码,内存,CPU,分辨率,MAC,IP,SD卡,IMEI,经纬度,信号强度等等)
- 【小功能2】android获取手机信息(号码,内存,CPU,分辨率,MAC,IP,SD卡,IMEI,经纬度,信号强度等等)
- android获取手机信息(号码,内存,CPU,分辨率,MAC,IP,SD卡,IMEI,经纬度,信号强度等等)
- 【小功能2】android获取手机信息(号码,内存,CPU,分辨率,MAC,IP,SD卡,IMEI,经纬度,信号强度等等)
- Android小功能获取手机信息(号码,内存,CPU,分辨率,MAC,IP,SD卡,IMEI,经纬度,信号强度等等)
- 【小功能2】android获取手机信息(号码,内存,CPU,分辨率,MAC,IP,SD卡,IMEI,经纬度,信号强度等等)
- 【小功能2】android获取手机信息(号码,内存,CPU,分辨率,MAC,IP,SD卡,IMEI,经纬度,信号强度等等)
- Android手机获取Mac地址
- Android获取Ethernet、WIFI的ip和mac地址
- Android 获取手机Mac和IP
- android 获取设备IP和Mac地址
- Android:获取MAC和IP 地址
- android设备获取当前所用网络类型和获取手机ip地址
- Android手机获取Mac地址的方法
- android 获取设备的IP和Mac地址
- Android获取如何获取当前手机IP地址
- Android中获取手机IMEI,IMSI, MAC(Android 6.0)工具类(标识用户唯一)
- Android中获取手机IMEI,IMSI, MAC(Android 6.0、支持4G环境获取)工具类(标识用户唯一)
- android 获取设备IP和Mac地址