L'obtention de l'adresse IP de Android lorsqu'il est connecté à un Réseau Cellulaire
Est-il un Moyen Simple d'obtenir l'adresse IP De mon téléphone lorsqu'il est connecté à internet via le Réseau de données mobile. Pour arriver WiFi adresse IP je suis en suivant le plan Technique simple.
WifiManager wm = (WifiManager) getSystemService(WIFI_SERVICE);
String ip = Formatter.formatIpAddress(wm.getConnectionInfo().getIpAddress());
Est-il une manière similaire à ci-dessus pour obtenir l'adresse IP de réseau de données mobile.
J'ai utilisé le code suivant mais il renvoie les adresses MAC ,adresses IP à la fois le WiFi et le réseau cellulaire, mais je suis intéressé uniquement Cellulaire Adresse IP.
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();
Log.i("Sarao5",ipAddress);
}
}
}
} catch (SocketException ex) {}
Vous devez vous connecter pour publier un commentaire.
Utilisation ci-dessous le code que j'utilise dans mon application -
c'est le meilleur et facile.
Espère que ma réponse est utile.
Devraient éviter d'utiliser
Formatter.formatIPAddress
, utilisez la commande suivante pour obtenir l'Adresse IP, des différences mineures à partir de votre code; sa seule fonction qui retourne l'ip wifi si son permis d'autre le cellulaire que vous le souhaitez, vous pouvez modifier l'acc besoin;