Android 获取当前 IP 地址

其他教程   发布日期:2023年05月31日   浏览次数:456

1. 使用 WIFI

首先设置用户权限

复制代码代码如下:

  1. <uses-permission android:name="android.permission.INTERNET"></uses-permission>
  2. <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"></uses-permission>
  3. <uses-permission android:name="android.permission.CHANGE_WIFI_STATE"></uses-permission>
  4. <uses-permission android:name="android.permission.WAKE_LOCK"></uses-permission>

1:获取 wifi 地址

  1. public class NetWorkUtils {
  2. /**
  3. * 检查网络是否可用
  4. *
  5. * @param paramContext
  6. * @return
  7. */
  8. public static boolean checkEnable(Context paramContext) {
  9. boolean i = false;
  10. NetworkInfo localNetworkInfo = ((ConnectivityManager) paramContext
  11. .getSystemService("connectivity")).getActiveNetworkInfo();
  12. if ((localNetworkInfo != null) && (localNetworkInfo.isAvailable()))
  13. return true;
  14. return false;
  15. }
  16. /**
  17. * 将ip的整数形式转换成ip形式
  18. *
  19. * @param ipInt
  20. * @return
  21. */
  22. public static String int2ip(int ipInt) {
  23. StringBuilder sb = new StringBuilder();
  24. sb.append(ipInt & 0xFF).append(".");
  25. sb.append((ipInt >> 8) & 0xFF).append(".");
  26. sb.append((ipInt >> 16) & 0xFF).append(".");
  27. sb.append((ipInt >> 24) & 0xFF);
  28. return sb.toString();
  29. }
  30. /**
  31. * 获取当前ip地址
  32. *
  33. * @param context
  34. * @return
  35. */
  36. public static String getLocalIpAddress(Context context) {
  37. try {
  38. WifiManager wifiManager = (WifiManager) context
  39. .getSystemService(Context.WIFI_SERVICE);
  40. WifiInfo wifiInfo = wifiManager.getConnectionInfo();
  41. int i = wifiInfo.getIpAddress();
  42. return int2ip(i);
  43. } catch (Exception ex) {
  44. return " 获取IP出错鸟!!!!请保证是WIFI,或者请重新打开网络!\n" + ex.getMessage();
  45. }
  46. // return null;
  47. }
  48. }

GPRS连接下的ip

  1. //GPRS连接下的ip
  2. public String getLocalIpAddress() {
  3. try {
  4. for (Enumeration<NetworkInterface> en = NetworkInterface.getNetworkInterfaces(); en.hasMoreElements(); ) {
  5. NetworkInterface intf = en.nextElement();
  6. for (Enumeration<InetAddress> enumIpAddr = intf.getInetAddresses(); enumIpAddr.hasMoreElements(); ) {
  7. InetAddress inetAddress = enumIpAddr.nextElement();
  8. if (!inetAddress.isLoopbackAddress()) {
  9. return inetAddress.getHostAddress().toString();
  10. }
  11. }
  12. }
  13. } catch (SocketException ex) {
  14. Log.e("WifiPreference IpAddress", ex.toString());
  15. }
  16. return null;
  17. }

以上就是Android 获取当前 IP 地址的详细内容,更多关于Android 获取当前 IP 地址的资料请关注九品源码其它相关文章!