J'ai un appareil Android, qui est connecté à un réseau via Ethernet. Comment puis-je obtenir des informations DHCP pour cette connexion?Comment trouver des informations DHCP sur Android pour une connexion non-WiFi?
2
A
Répondre
0
Vous devriez pouvoir utiliser ConnectivityManager.getAllNetworks()
pour obtenir le tableau de réseau connecté: http://developer.android.com/reference/android/net/ConnectivityManager.html#getAllNetworks()
Et puis Network.getSocketFactory()
pour votre réseau connecté. Le SocketFactory
vous permettra d'inspecter Socket
s qui peuvent être créés sur la connexion.
http://developer.android.com/reference/android/net/Network.html#getSocketFactory()
De là, il suffit de créer un Socket
du SocketFactory.createSocket()
et il aura l'information que vous voulez, comme Socket.getLocalSocketAddress()
etc.
http://developer.android.com/reference/javax/net/SocketFactory.html#createSocket()
0
Il n'y a pas WifiManager comme classe pour non-Wifi.
ConnectivityManager connectivityManager = (ConnectivityManager) getApplicationContext().getSystemService(Service.CONNECTIVITY_SERVICE);
Log.i("routes ", connectivityManager.getLinkProperties(connectivityManager.getActiveNetwork()).getRoutes().toString());
Log.i("domains ", connectivityManager.getLinkProperties(connectivityManager.getActiveNetwork()).getDomains().toString());
Log.i("ip address ", connectivityManager.getLinkProperties(connectivityManager.getActiveNetwork()).getLinkAddresses().toString());
Log.i("dns address ", connectivityManager.getLinkProperties(connectivityManager.getActiveNetwork()).getDnsServers().toString());