Когда я подключен к WiFi, я могу получить IP-адрес телефона Android.
Однако, когда в мобильной сети, такой как соединение 3G, все еще возможно получить IP-адрес телефона Android? Если да, пожалуйста, напишите код для того же.
попробуйте что-то вроде этого
String ipAddress = null; 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()) { ipAddress = inetAddress.getHostAddress().toString(); } } } } catch (SocketException ex) {}
мобильное устройство не имеет IP при просмотре через 3G-соединение. Вы получите IP-провайдер с кодом на стороне сервера. Я рекомендую вам заменить ip на уникальный идентификатор, тип устройства и координаты, если это возможно.