Android dhcp or static 的ip addr mask gateway

轉載自

https://stackoverflow.com/questions/46065159/get-android-dhcpinfo-connected-via-ethernet

In your AndroidManifest.xml file

<uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

Your code:

    ConnectivityManager connectivityManager = (ConnectivityManager) getApplicationContext().getSystemService(Service.CONNECTIVITY_SERVICE); /* you can print your active network via using below */ Log.i("myNetworkType: ", connectivityManager.getActiveNetworkInfo().getTypeName()); WifiManager wifiManager= (WifiManager) getApplicationContext().getSystemService(getApplicationContext().WIFI_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()); if(connectivityManager.getActiveNetworkInfo().getType() == ConnectivityManager.TYPE_WIFI) { Log.i("myType ", "wifi"); DhcpInfo d =wifiManager.getDhcpInfo(); Log.i("info", d.toString()+""); } else if(connectivityManager.getActiveNetworkInfo().getType() == ConnectivityManager.TYPE_ETHERNET) { /* there is no EthernetManager class, there is only WifiManager. so, I used this below trick to get my IP range, dns, gateway address etc */ Log.i("myType ", "Ethernet"); Log.i("routes ", connectivityManager.getLinkProperties(connectivityManager.getActiveNetwork()).getRoutes().toString()); Log.i("domains ", connectivityManager.getLinkProperties(connectivityManager.getActiveNetwork()).getDomains().toString()); Log.i("ip address ",

猜你喜欢

转载自blog.csdn.net/u011028408/article/details/79165838