Peut-être que je pose la mauvaise question, mais je n'arrive pas à trouver ce que je cherche, alors je vais essayer de le demander ici au lieu de google.Noms d'interface réseau pour les appareils Android
Fondamentalement, j'ai le code suivant, à partir de laquelle je peux glaner si je suis sur le wifi, 3G ou autre chose (attachement vient à l'esprit).
// Iterate over all network interfaces.
for (Enumeration<NetworkInterface> en =
NetworkInterface.getNetworkInterfaces(); en.hasMoreElements();)
{
NetworkInterface intf = en.nextElement();
// Iterate over all IP addresses in each network interface.
for (Enumeration<InetAddress> enumIPAddr =
intf.getInetAddresses(); enumIPAddr.hasMoreElements();)
{
InetAddress iNetAddress = enumIPAddr.nextElement();
// Loop back address (127.0.0.1) doesn't count as an in-use
// IP address.
if (!iNetAddress.isLoopbackAddress())
{
sLocalIP = iNetAddress.getHostAddress().toString();
sInterfaceName = intf.getName();
}
}
}
je crois que la partie importante ici est sInterfaceName = intf.getName();
maintenant sur le Galaxy S et Galaxy Tab S, cela semble revenir « eth0 » lorsque vous êtes connecté au WiFi et « pdp0 » lorsqu'il est connecté à la 3G Cela dit, je n'ai vraiment été capable de tester avec 1 x Galaxy S et 1 x Galaxy S Tab car ils sont les seuls appareils Android que j'ai. J'imagine que le nom de l'interface réseau est défini quelque part dans le noyau par le gestionnaire de périphériques. Je pourrais probablement troller à travers le noyau pour chaque appareil, mais j'ai pensé que quelqu'un devait avoir déjà trouvé cette information, des suggestions sur où chercher ou quoi chercher dans google?
utiles, mais ne répond pas à la question. Il veut le nom de l'interface, pas le type de réseau actuel. – Andy