Connectivité Ethernet par programme (Android) (périphérique racine)
J'ai une petite question concernant Ethernet.
Mes trois questions sont les suivantes:
- Peut-on par programmation marche/Arrêt
Ethernet
? - Peut-on par programmation Activer/Désactiver
Ethernet
? - Peut-on par programmation Connecter
Ethernet
?
Les Questions ci-dessus sont réalisées avec le Wifi
. Comme
- Nous pouvons par programmation marche/Arrêt
Wifi
. - Nous pouvons par programmation Activer/Désactiver
Wifi
. - Nous pouvons par programmation Connecter
Wifi
à l'aide deWifiManager
.
Android ne fournit aucune EthernetManager
comme WifiManager
pour gérer Ethernet
?
Ou, si cela ne semble pas possible, mon exigence est:
La première chose que je vais clair, c'est "l'APPAREIL EST ENRACINÉE" .
Puis-je manipuler les Paramètres (par Défaut)? Comme je ne veux pas d'autre option dans le Settings.apk
autres que WIFI
et Ethernet
. Il doit seulement montrer Wifi
et Ethernet
. C'est tout. Puis-je désactiver toutes les options dans les Paramètres, ou puis-je supprimer toutes les autres options dans les Paramètres?
source d'informationauteur Manohar Perepa
Vous devez vous connecter pour publier un commentaire.
Ok voici quelques méthodes que j'ai fait pour manipuler l'INTERFACE ETHERNET (eth0).
1) Une méthode permettant de vérifier si une interface ethernet existe
2) Une méthode permettant de vérifier si l'ETHERNET est activé ou SUR
3) Une méthode pour l'activation ou la désactivation de l'Ethernet en fonction de l'état dans lequel il est
4) Une méthode de connexion via ethernet en fonction du type choisi (dhcp/statique)
Il y a un plus de classe que j'ai créé pour le stockage de toutes les epf valeurs nécessaires. Cette classe est initialisée avec les valeurs que l'utilisateur insère.
Ça y est ... je vais le tester d'ici peu... Ce code manque d'une phase de test (ping). Et peut-être qu'il a besoin de configuration de DNS. Mais cela peut être fait facilement. Je n'ai pas compris parce que je pense sur notre dispositif, il va fonctionner sans les paramètres DNS.
La solution que je vais vous présenter ici est un hack en utilisant la réflexion et fonctionne uniquement sur un enracinée système android.
Votre appareil peut avoir le populaire android.net.package ethernet. Dans une Activité, essayez de
Il retourne une instance valide de la EthernetManager ou null. Null signifie que vous êtes hors de la chance.
Une exigence supplémentaire pourrait être en fonction de votre appareil: Ethernet et Wifi peut seulement travailler exclusivement. Vous devrez peut-être désactiver le Wifi pour activer Ethernet et vice versa.
Pour activer Ethernet par une réflexion d'utiliser votre instance de la EthernetManager.
La méthode que vous souhaitez invoquer est setEthEnabled(boolean activé)
Votre manifeste de l'application a besoin de ces autorisations
L'autorisation WRITE_SECURE_SETTINGS ne peut être acquise que par le système des apps. L'application n'a pas besoin d'être signé par un système de clé. Il peut être valable signe (comme la régulière Android App fonction d'Exportation). Utilisation busybox pour remonter la partition système pour l'accès en écriture et déplacez votre apk dans /system/app dossier. Le redémarrage de l'appareil et cela devrait fonctionner.
Il n'y a pas de Point d'Accès pour vous connecter à vous, comme avec le Wifi. Vous pouvez soit configurer en DHCP ou de fournir des valeurs statiques. Cela peut bien sûr également être fait par le biais de la réflexion.
Vous aurez besoin de la classe EthernetDevInfo.
La mise en œuvre effective de la EthernetManager et EthernetDevInfo peuvent légèrement différer entre les versions d'Android et les appareils comme il n'a pas à se conformer à un public d'api (encore) et peut-être même une version personnalisée.
Pour obtenir une liste des getters et setters vous pouvez utiliser un Introspector ou de réflexion en général.
Trois Answeres à vos questions ci-dessus:
ifconfig eth0 down ; ifconfig eth0 up
. Mais je ne l'ai pas testé par moi-même encore.Une explication est caché ici:
http://elinux.org/images/9/98/Dive_Into_Android_Networking-_Adding_Ethernet_Connectivity.pdf
Et la vidéo youtube de cette conférence
http://www.youtube.com/watch?v=LwI2NBq7BWM
Et une référence sur la façon d'utiliser la commande ifconfig pour android
Android ethernet configurer IP à l'aide de dhcp
Si vous venez à une solution, merci de la partager!! Si je vais le faire avant de vous je vais certenly.