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 :

Android & variables systèmes (réseaux)


Sujet :

Android

  1. #1
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    535
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 535
    Par défaut Android & variables systèmes (réseaux)
    Hello,

    A propos des connexions réseau:

    -> est ce qu'Android crée, utilise & gère des variables système, en fonction de son état?
    -> comment les accéder?
    -> y a t-il une liste de ces variables système qq part?

    Je m'explique:

    -> ce qui me serait utile, par exemple, serait d'avoir une liste de variables systèmes "réseau oui/non", du genre: NETWORK_AVALAIBLE, WIFI_AVAILABLE, 3G_AVAILABLE, etc...

    -> ce qui serait plus rapide (si ça existe) que de lancer des connexions réseau et de voir si elle plantent ou pas.


    J'ai essayé de googler tout ça, mais les termes aussi génériques me renvoient 12M de pages sans rapport.

    Voilà, voilààààà.

    Merci.

  2. #2
    Rédacteur
    Avatar de MrDuChnok
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2002
    Messages
    2 112
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juin 2002
    Messages : 2 112

  3. #3
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    535
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 535
    Par défaut
    Ca c'est de la réponse expresse!
    Je vais étudier les liens et je te dis.

  4. #4
    Rédacteur
    Avatar de MrDuChnok
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2002
    Messages
    2 112
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juin 2002
    Messages : 2 112
    Par défaut
    Citation Envoyé par steph68b Voir le message
    Ca c'est de la réponse expresse!
    Juste le temps d'une recherche google

  5. #5
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    535
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 535
    Par défaut
    Bon j'ai fait des tests et c'est mitigé......... parce que j'ai oublié de préciser qq chose je pense:

    -> pour ne pas bosser 24/24 dans un environnement d'ondes wifi je bosse mon dév avec TETHERING sur ma galaxy tab rootée

    -> peu importe le débat pour/contre le wifi, ce n'est pas la question ici

    -> et j'ai donc besoin d'une fonctions de test qui marcherait indifféremment avec wifi/3g ET tethering

    -> en fait un truc qui teste un accès réseau de manière globale, peu importe le "canal" utilisé finalement

    -> mais est ce possible? existe-il un moyen tenant compte de tethering?

    Et tout ce que j'ai pu tester / trouver en ligne ne gère pas tethering, que le wifi et la 3g!

    Sinon j'ai bien pensé à faire un thread tentant une connexion à une page web, avec un timeout d'1 seconde par exemple.

    MAIS:
    1.) lancer 1 connexion de test puis si réseau ok, la vraie connexion devant ramener des data: prend du temps

    2.) et de toute façon un thread s'exécutant en // et pas forcément synchrone, le résultat du test de connexion arriverait probablement après l'échec de la connexion data

    Voilà.

  6. #6
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 281
    Par défaut
    Si ca peut te servir

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    	public boolean isConnected(Activity activity) {
    		@SuppressWarnings("static-access")
    		ConnectivityManager connectivityManager = (ConnectivityManager) activity
    				.getSystemService(activity.CONNECTIVITY_SERVICE);
    		NetworkInfo networkInfo = connectivityManager.getActiveNetworkInfo();
    		if (networkInfo != null) {
    			// System.out.println(networkInfo.getTypeName()); // mobile ou WIFI
    			State networkState = networkInfo.getState();
    			if (networkState.compareTo(State.CONNECTED) == 0) {
    				return true;
    			}
    		}
    		return false;

  7. #7
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    535
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 535
    Par défaut
    Quel est l'import à inclure pour "State"?
    -> State can not be resolved as a type

    J'ai essayé org.omg.PortableServer.POAManagerPackage.State mais il n'arrive pas à le résoudre.

  8. #8
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 281
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    import android.net.ConnectivityManager;
    import android.net.NetworkInfo;
    import android.net.NetworkInfo.State;

  9. #9
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    535
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 535
    Par défaut
    Ok, merci, mais même problème avec le Tethering.
    -> pas détecté comme une connexion active

  10. #10
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    535
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 535
    Par défaut
    Pour ceux que ça peut intéresser:

    -> à priori, d'après ce que j'ai pu voir, impossible de tester tethering via les instructions classiques

    -> la seule façon serait effectivement de lancer une requête http de test, avec un timeout plus court:
    SI ça passe ALORS réseau OK
    SINON réseau HS

    En ce qui me concerne, comme j'ai déjà timeouté tous mes accès http, je renonce à tester l'état de la connexion de cette façon, plus longue que le check d'une valeur programme et qui ralentirait l'appli.

    Je ferme donc le sujet, MAIS si qq'un avait des infos contraires, qu'il n'hésite pas, la ré-ouverture est facile!

    Merci pour la participation en tout cas.

  11. #11
    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

    Essaye avec cela :
    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
    WifiManager wifi = (WifiManager) getSystemService(Context.WIFI_SERVICE);
    Method[] wmMethods = wifi.getClass().getDeclaredMethods();
    for(Method method: wmMethods){
    if(method.getName().equals("isWifiApEnabled")) {
     
    try {
      method.invoke(wifi);
    } catch (IllegalArgumentException e) {
      e.printStackTrace();
    } catch (IllegalAccessException e) {
      e.printStackTrace();
    } catch (InvocationTargetException e) {
      e.printStackTrace();
    }
    }
    Après pour tester le Wifi de manière plus globale tu peux utiliser le Wi-fi Manager.

    http://developer.android.com/referen...getWifiState()


    Après de toute manière c'est pas parce que tu auras accès au réseaux que tu auras accès à ton serveur. Donc il te faudra bien à un moment ou un autre gérer la non connexion au serveur lors de son appel.

  12. #12
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    535
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 535
    Par défaut
    Ok, je suis reparti sur autre chose là, mais j'essaierai plus tard.
    Merci.

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

Discussions similaires

  1. SSIS - Variable système ErrorDescription
    Par Marie-Thérèse dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 03/10/2006, 10h00
  2. variables système, username
    Par sr_rs dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 31/07/2006, 18h48
  3. [Système] Recupération de variable système
    Par dj-julio dans le forum Langage
    Réponses: 2
    Dernier message: 03/01/2006, 15h45
  4. Réponses: 9
    Dernier message: 03/10/2005, 14h28
  5. Debutant recherche utilisation variable système
    Par agent-zaizai dans le forum C++Builder
    Réponses: 5
    Dernier message: 15/05/2003, 21h53

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