6 votes

Android Interface avec la connexion Ethernet

Sur mon appareil Android, j'ai à la fois des connexions réseau Ethernet et Wifi.
Ce que je veux mettre en œuvre est de vérifier si les connexions Wifi et Ethernet sont toutes les deux actives en même temps, alors je veux désactiver le réseau Wifi et maintenir la connexion Ethernet activée.

Je suis en train d'utiliser WifiManager d'Android et android.net.conn.CONNECTIVITY_CHANGE BroadcastReceiver pour vérifier l'état de Wifi connecté/déconnecté et également pour activer/désactiver le réseau Wifi.

Mais je ne parviens pas à vérifier l'état de la connexion Ethernet et je ne parviens pas non plus à activer/désactiver la connexion Ethernet.

Pour vérifier l'état de la connexion Ethernet, je lis le fichier système '/sys/class/net/eth0' qui renvoie l'état Ethernet correct. Mais pour activer/désactiver Ethernet, je ne parviens pas à comprendre comment le faire.

J'ai des options de connexion Ethernet dans le menu Paramètres fournies par Android à partir desquelles nous pouvons configurer la connexion Ethernet de l'appareil.

Dans ConnectivityManager, il y a une API getActiveNetworkInfo qui ne renvoie que l'interface réseau connectée actuellement, mais je veux récupérer la liste de toutes les interfaces connectées à partir desquelles nous pouvons nous connecter à Internet.

Y a-t-il un service en cours d'exécution sur Android qui peut me donner accès pour activer/désactiver la connexion Ethernet et également une API pour obtenir l'état de la connexion Ethernet ?

Merci.

5voto

A_user Points 2156

Une façon de l'archiver,
L'état Ethernet actuel de l'appareil Android est mis à jour dans le fichier /sys/class/net/eth0/operstate par le système d'exploitation Android. Nous devons lire ce fichier pour obtenir l'état.

Le fichier contiendra la chaîne UP si Ethernet est activé sinon la chaîne DOWN si Ethernet est désactivé.

J'ai essayé cette méthode et cela fonctionne pour moi.

Mais je ne suis pas sûr que cela fonctionnera sur tous les appareils avec toutes les versions d'Android.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X