当前位置:   article > 正文

android 获取当前设备的ip地址 mac地址 设备号 手机号 运营商信息_服务端可以获取到手机的mac地址吗

服务端可以获取到手机的mac地址吗

获取ip地址的时候,如果不注册权限的话,也不会报错,但是不会获取到ip地址(表示这个问题很蛋疼)
获取mac地址和设备号的时候,需要注册权限.不然会报错
所以权限很重要.记得加权限,记得加权限,记得加权限

  1. /**
  2. * 2015年12月7日TODOimgod
  3. */
  4. package com.bodao.aibang.utils;
  5. import java.net.InetAddress;
  6. import java.net.NetworkInterface;
  7. import java.net.SocketException;
  8. import java.util.Enumeration;
  9. import android.content.Context;
  10. import android.net.wifi.WifiInfo;
  11. import android.net.wifi.WifiManager;
  12. import android.telephony.TelephonyManager;
  13. import android.util.Log;
  14. /**
  15. * @author imgod 2015年12月7日
  16. */
  17. public class PhoneUtils {
  18. /**
  19. * 获取手机的ip地址
  20. * 注意添加权限android:name="android.permission.INTERNET"
  21. * @return 返回地址是本地地址 例如 192.168.1.100
  22. */
  23. public static String getLocalIpAddress() {
  24. try {
  25. for (Enumeration<NetworkInterface> en = NetworkInterface
  26. .getNetworkInterfaces(); en.hasMoreElements();) {
  27. NetworkInterface intf = en.nextElement();
  28. for (Enumeration<InetAddress> enumIpAddr = intf
  29. .getInetAddresses(); enumIpAddr.hasMoreElements();) {
  30. InetAddress inetAddress = enumIpAddr.nextElement();
  31. if (!inetAddress.isLoopbackAddress()
  32. && !inetAddress.isLinkLocalAddress()) {
  33. return inetAddress.getHostAddress().toString();
  34. }
  35. }
  36. }
  37. } catch (SocketException ex) {
  38. Log.e("WifiPreference IpAddress", ex.toString());
  39. }
  40. return null;
  41. }
  42. /**
  43. * 获取本机mac 记得添加权限 android:name="android.permission.ACCESS_WIFI_STATE"
  44. *
  45. * @return 返回本机的mac地址
  46. */
  47. public static String getLocalMacAddress(Context context) {
  48. WifiManager wifi = (WifiManager) context.getApplicationContext()
  49. .getSystemService(Context.WIFI_SERVICE);
  50. WifiInfo info = wifi.getConnectionInfo();
  51. return info.getMacAddress();
  52. }
  53. /**
  54. * @param ctx
  55. * 上下文对象 记得添加权限android:name="android.permission.READ_PHONE_STATE"
  56. * @return 返回获取到的手机信息,返回的东西太多.可以分多个函数进行写
  57. */
  58. public static String getPhoneInfo(Context ctx) {
  59. TelephonyManager tm = (TelephonyManager) ctx.getApplicationContext()
  60. .getSystemService(Context.TELEPHONY_SERVICE);
  61. StringBuilder sb = new StringBuilder();
  62. sb.append("\nDeviceID(IMEI)" + tm.getDeviceId());
  63. sb.append("\nDeviceSoftwareVersion:" + tm.getDeviceSoftwareVersion());
  64. sb.append("\ngetLine1Number:" + tm.getLine1Number());
  65. sb.append("\nNetworkCountryIso:" + tm.getNetworkCountryIso());
  66. sb.append("\nNetworkOperator:" + tm.getNetworkOperator());
  67. sb.append("\nNetworkOperatorName:" + tm.getNetworkOperatorName());
  68. sb.append("\nNetworkType:" + tm.getNetworkType());
  69. sb.append("\nPhoneType:" + tm.getPhoneType());
  70. sb.append("\nSimCountryIso:" + tm.getSimCountryIso());
  71. sb.append("\nSimOperator:" + tm.getSimOperator());
  72. sb.append("\nSimOperatorName:" + tm.getSimOperatorName());
  73. sb.append("\nSimSerialNumber:" + tm.getSimSerialNumber());
  74. sb.append("\ngetSimState:" + tm.getSimState());
  75. sb.append("\nSubscriberId:" + tm.getSubscriberId());
  76. sb.append("\nVoiceMailNumber:" + tm.getVoiceMailNumber());
  77. return sb.toString();
  78. }
  79. }


声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小丑西瓜9/article/detail/242204
推荐阅读
相关标签
  

闽ICP备14008679号