Multiple réseaux (WiFi / 3G / 4G)

  • Auteur de la discussion DJack44
  • Date de début
D

DJack44

Membre
Inscrit
8 Novembre 2017
Messages
1
Points
0
  • #1
Bonjour,

On a une application développée en Java sous Androïd qui doit fonctionner sur de multiples appareils.
Le problème est que, si le SmartPhone est connecté à un réseau WiFi qui n'est pas lui connecté à Internet (ou qui nécessiterait des user/password), l'application utilisera systématiquement ce réseau WiFi sur lequel le Smartphone est connecté et ne fonctionnera pas ... Comment forcer l'utilisation, dans ce cas, du réseau Mobile classique (3G/4G) ?

Merci pour vos retours
 
Valentin

Valentin

Moderateur Global
Inscrit
20 Février 2013
Messages
7 829
Points
48
  • #2
Salut,

si tu envoies une requête afin de vérifier que tu as un retour et donc que ton téléphone est bien connecté à internet ?
 
binbam

binbam

Membre
Inscrit
17 Février 2014
Messages
9
Points
1
  • #3
Salut,

Dans le sens de Valentin, tu peux tester avec une requete icmp.
Essaye avec ca sur un serveur web ou dns .
Par contre sa risque d' ajouter un temp de latence sur l'app

public boolean isWanConnected(String url) {
boolean isConnected = false;

try {
Process process = Runtime.getRuntime().exec(
"/system/bin/ping -c 1 " + url);
BufferedReader reader = new BufferedReader(new InputStreamReader(
process.getInputStream()));
int i;
char[] buffer = new char[4096];
StringBuffer output = new StringBuffer();
while ((i = reader.read(buffer)) > 0)
output.append(buffer, 0, i);
reader.close();

if(output.toString().contains("1 received")) isConnected=true ;

} catch (IOException e) {
e.printStackTrace();
}

return isConnected;
}
 

Sujets en relation

Haut Bas