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 :

Forcer les applications à utiliser la 3G à la place du WIFI


Sujet :

Android

  1. #1
    Membre éprouvé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2007
    Messages
    697
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Calvados (Basse Normandie)

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

    Informations forums :
    Inscription : Janvier 2007
    Messages : 697
    Points : 1 241
    Points
    1 241
    Par défaut Forcer les applications à utiliser la 3G à la place du WIFI
    Bonjour,

    Je travaille sur une appli qui est connectée à un périphérique en WIFI.
    Au sein de l'appli je veux pouvoir me connecter à internet en utilisant la 3G (car le réseau WIFI créé par mon périphérique n'est pas connecté à internet). Par exemple pour partager un texte via l'application facebook.
    Mais Android n'est pas capable de se rendre compte que le réseau WIFI n'est pas connecté à internet.

    Il y a-t-il un moyen de forcer l'utilisation de la 3G de manière logiciel ou une option dans les paramètres ? Ou éventuellement un moyen de demander à Android de checker la validité des connexions.

    Merci.

  2. #2
    Membre régulier Avatar de Rappunzell
    Homme Profil pro
    Technicien Help Desk
    Inscrit en
    Novembre 2007
    Messages
    93
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Technicien Help Desk

    Informations forums :
    Inscription : Novembre 2007
    Messages : 93
    Points : 91
    Points
    91
    Par défaut
    Salut,

    Regardes du côté de la classe ConnectivityManager

  3. #3
    Membre éprouvé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2007
    Messages
    697
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Calvados (Basse Normandie)

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

    Informations forums :
    Inscription : Janvier 2007
    Messages : 697
    Points : 1 241
    Points
    1 241
    Par défaut
    J'ai testé la seule méthode qui pouvait être utile setNetworkPreference() avec TYPE_MOBILE comme paramètre. Mais sans résultat probant.
    Peut-être faisais-tu allusion à un autre paramètre/méthode ?

  4. #4
    Membre régulier Avatar de Rappunzell
    Homme Profil pro
    Technicien Help Desk
    Inscrit en
    Novembre 2007
    Messages
    93
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Technicien Help Desk

    Informations forums :
    Inscription : Novembre 2007
    Messages : 93
    Points : 91
    Points
    91
    Par défaut
    En fait je m'en sers pour tester si on est connecté à Internet.

    Après, je ne pense qu'il y a un autre de "vérifier" le bon état de cette connexion autrement qu'en faisant un ping :

    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
     
    public int isConnected() {
    	  ConnectivityManager connectivityManager = (ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE);
    	  NetworkInfo networkInfo = connectivityManager.getActiveNetworkInfo();
    	  if (networkInfo != null && networkInfo.isConnectedOrConnecting() && networkInfo.isAvailable()) {
     
    		  HttpGet requestForTest = new HttpGet("http://m.google.com");
     
    		  try {
    			  // On ping sur google mobile (répond rapidement) pour tester l'accès à Internet
     
                              new DefaultHttpClient().execute(requestForTest);
                              return 0; // OK
                      } catch (Exception e) {
     
            	          return 2; // Connexion présente mais pas d'accès
                      }	      
    	  }
     
    	  return 1; // Pas de connexion
    }
    Pour ce qui est de forcer le device à utiliser la 3G, je ne pense pas que ça soit possible, mais je peux me tromper. Par contre je pense que tu peux simplement faire en sorte que ça n'aille pas plus loin si le type de connexion est Wifi est signaler à l'utilisateur qu'il doit activer la 3G...

  5. #5
    Membre éprouvé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2007
    Messages
    697
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Calvados (Basse Normandie)

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

    Informations forums :
    Inscription : Janvier 2007
    Messages : 697
    Points : 1 241
    Points
    1 241
    Par défaut
    Le truc c'est que je pars du principe que la 3G est déjà activée. Mais même avec la 3G activée, quand je lance Facebook via le bouton partager, Facebook essaye d'envoyer le post via la connexion Wifi. Il ne se rend pas compte que le Wifi n'est pas connecté à internet.
    D'après mes recherches, il semble que ce soit une limitation d'Android –l'iPhone a aussi le même problème.
    La seule solution que j'ai trouvée est de désactiver le Wifi avant de faire le partage. Mais dans ce cas là, lorsque l'utilisateur revient sur l'application, il faut un 10aine de secondes pour se reconnecter au périphérique Wifi. Ce n'est pas acceptable dans mon cas.

    Je vais laisser tomber : l'utilisateur devra enregistrer le post en tant que brouillon puis le renvoyer après. Ce n'est pas super génial non plus...

Discussions similaires

  1. [MVVM] Forcer Une Application à utiliser le theme Windows Classic
    Par gamepower dans le forum Windows Presentation Foundation
    Réponses: 0
    Dernier message: 29/01/2014, 14h47
  2. Réponses: 6
    Dernier message: 11/11/2008, 17h26
  3. Application utilisant les sockets
    Par romuald07 dans le forum WinDev
    Réponses: 0
    Dernier message: 04/04/2008, 14h56
  4. Réponses: 1
    Dernier message: 25/02/2008, 18h43
  5. [XSL]forcer l'application de tous les templates
    Par snoop dans le forum XSL/XSLT/XPATH
    Réponses: 6
    Dernier message: 23/05/2006, 09h06

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