IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Android Discussion :

Récupérer l'adresse IP d'un périphérique


Sujet :

Android

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2013
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2013
    Messages : 45
    Par défaut Récupérer l'adresse IP d'un périphérique
    Bonjour
    j'essaye de récupérer l'adresse ip de mon smartphone ,mais je peine a y arriver
    voici mon code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    		try {
    			final InetAddress host = InetAddress.getLocalHost();
    			Log.v("IP","" + host);
    		} catch (UnknownHostException e1) {
    			// TODO Auto-generated catch block
    			e1.printStackTrace();
    		}
    tout en sachant que j'ai bien mis la permission
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    	<uses-permission android:name="android.permission.INTERNET" />
    voici le logcat

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    03-10 11:16:57.395: D/AndroidRuntime(21362): Shutting down VM
    03-10 11:16:57.395: W/dalvikvm(21362): threadid=1: thread exiting with uncaught exception (group=0x40c8a1f8)
    03-10 11:16:57.400: E/AndroidRuntime(21362): FATAL EXCEPTION: main
    03-10 11:16:57.400: E/AndroidRuntime(21362): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.android/com.example.android.MainActivity}: android.os.NetworkOnMainThreadException
    03-10 11:16:57.400: E/AndroidRuntime(21362): 	at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1967)
    03-10 11:16:57.400: E/AndroidRuntime(21362): 	at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1992)
    03-10 11:16:57.400: E/AndroidRuntime(21362): 	at android.app.ActivityThread.access$600(ActivityThread.java:127)
    03-10 11:16:57.400: E/AndroidRuntime(21362): 	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1158)
    03-10 11:16:57.400: E/AndroidRuntime(21362): 	at android.os.Handler.dispatchMessage(Handler.java:99)
    03-10 11:16:57.400: E/AndroidRuntime(21362): 	at android.os.Looper.loop(Looper.java:137)
    03-10 11:16:57.400: E/AndroidRuntime(21362): 	at android.app.ActivityThread.main(ActivityThread.java:4511)
    03-10 11:16:57.400: E/AndroidRuntime(21362): 	at java.lang.reflect.Method.invokeNative(Native Method)
    03-10 11:16:57.400: E/AndroidRuntime(21362): 	at java.lang.reflect.Method.invoke(Method.java:511)
    03-10 11:16:57.400: E/AndroidRuntime(21362): 	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:980)
    03-10 11:16:57.400: E/AndroidRuntime(21362): 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:747)
    03-10 11:16:57.400: E/AndroidRuntime(21362): 	at dalvik.system.NativeStart.main(Native Method)
    03-10 11:16:57.400: E/AndroidRuntime(21362): Caused by: android.os.NetworkOnMainThreadException
    03-10 11:16:57.400: E/AndroidRuntime(21362): 	at android.os.StrictMode$AndroidBlockGuardPolicy.onNetwork(StrictMode.java:1099)
    03-10 11:16:57.400: E/AndroidRuntime(21362): 	at java.net.InetAddress.lookupHostByName(InetAddress.java:391)
    03-10 11:16:57.400: E/AndroidRuntime(21362): 	at java.net.InetAddress.getLocalHost(InetAddress.java:371)
    03-10 11:16:57.400: E/AndroidRuntime(21362): 	at com.example.android.MainActivity.onCreate(MainActivity.java:19)
    03-10 11:16:57.400: E/AndroidRuntime(21362): 	at android.app.Activity.performCreate(Activity.java:4470)
    03-10 11:16:57.400: E/AndroidRuntime(21362): 	at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1052)
    03-10 11:16:57.400: E/AndroidRuntime(21362): 	at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1931)
    03-10 11:16:57.400: E/AndroidRuntime(21362): 	... 11 more

  2. #2
    Expert confirmé

    Avatar de Feanorin
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    4 589
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 4 589
    Par défaut
    Bonjour,

    Caused by: android.os.NetworkOnMainThreadException
    Il est interdit de faire des requêtes réseaux depuis le Thread UI il faut passer par un Thread .

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2013
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2013
    Messages : 45
    Par défaut
    ok j'ai placé ma requête dans un thread ,
    mais j'ai un autre problème .

    je reçois comme adresse localhost 127.0.0.1

    comment faire pour recevoir l'adresse ip de l'appareil ,en fait j'en ai besoin pour faire un protocole client-serveur .
    si tu sais comment récupérer également l'address ipv6 je t'en serais reconnaissant

  4. #4
    Membre expérimenté
    Homme Profil pro
    Développeur Java / C++
    Inscrit en
    Mars 2013
    Messages
    128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Java / C++

    Informations forums :
    Inscription : Mars 2013
    Messages : 128
    Par défaut
    Bonjour amath1,

    Je pense que tu devrais faire une petit tour sur le chapitre 23 du cours Développons en Java de Jean-Michel Doudoux afin d'avoir un aperçu de la communication réseau en Java.

    Ensuite, je t'invite aussi à aller voir la documentation android concernant les InetAdress.

    Et puis, avec un peu de recherche sur notre superbe site developpez.com, on peut trouver des postes intéressants.

    J'espère que tout cela t'aidera!

  5. #5
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2013
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2013
    Messages : 45
    Par défaut
    merci c'est bon
    bon je poste mon programme au cas ou quelqu'un puisse être intéressé

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     try {
    	            Enumeration<NetworkInterface> interfaces = NetworkInterface.getNetworkInterfaces();
    	            int i = 1;
     
    	            while (interfaces.hasMoreElements()) {  
                    	NetworkInterface currentInterface = interfaces.nextElement(); 
                    	 Log.v("Interface "+i," " + currentInterface);
                    	 i++;
                    	 Enumeration<InetAddress> addresses = currentInterface.getInetAddresses(); 
                    	 int n= 1;
                         while (addresses.hasMoreElements()) { 
     
                             InetAddress currentAddress = addresses.nextElement();
                             Log.v("IP "+n," "+currentAddress.getHostAddress());
                             n++;
                         }
                    }
     
    	        } catch (Exception ex) { } // for now eat exceptions
    voila ce code liste toute les interfaces réseaux ,et toutes le ip correspondantes

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [C#] Récupérer son adresse IP sur Internet
    Par Thomas Lebrun dans le forum Windows Forms
    Réponses: 11
    Dernier message: 28/07/2014, 16h19
  2. [Système] Récupérer l'adresse MAC de la machine
    Par la.musaraigne dans le forum API standards et tierces
    Réponses: 5
    Dernier message: 27/01/2011, 14h08
  3. [MFC]récupérer l'adresse MAC
    Par julien20vt dans le forum MFC
    Réponses: 6
    Dernier message: 17/02/2004, 11h22
  4. Comment récupérer les adresses WWW dans Internet Explorer ?
    Par chaours dans le forum Web & réseau
    Réponses: 7
    Dernier message: 03/09/2003, 14h27
  5. Comment récupérer une adresse MAC ?
    Par psau dans le forum Développement
    Réponses: 7
    Dernier message: 19/07/2002, 17h26

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo