博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android dhcp or static 的ip addr mask gateway
阅读量:4285 次
发布时间:2019-05-27

本文共 2386 字,大约阅读时间需要 7 分钟。

轉載自

In your AndroidManifest.xml file

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 ", connectivityManager

Output 

You can't reach to know whether you are connected via wifi or network using WifiManager as WifiManager only deals with wifi. You have to use ConnectivityManager. I updated the code again where I merged WifiManager and ConnectivityManager to produce the result that you wanted.

 

 

 

 

--------------------------------------------------------------------------------------------------------------------------------------------------------------------

http://www.lemene.cn/2016/11/27/Android-%E4%BB%A5%E5%A4%AA%E7%BD%91IP%E8%AE%BE%E7%BD%AE/

ftp://ftp1.digi.com/support/temp/digi-docs/reference/android/net/ethernet/EthernetManager.html

 

http://blog.csdn.net/kesenhoo/article/details/7057448

你可能感兴趣的文章
關於如何快速切換目錄(Linux)
查看>>
vim 取代指令
查看>>
Java -- 入口函数浅析
查看>>
广播的使用
查看>>
Python Requests库
查看>>
下载离线 Visual Studio 离线安装包
查看>>
Makefile Project 中 MSBuild MSB3073 error 不能正确检测字符串 “error:"
查看>>
Xamarin.Forms.Xaml.XamlParseException: No embeddedresource found for
查看>>
如何 禁掉 Hyper-V && 如何解决禁不掉 Hyper-V 的问题
查看>>
杂记 7/30
查看>>
Linux 学习笔记 (九) 软件安装
查看>>
剑指offer(68):机器人的运动范围(回溯法)
查看>>
数据结构之排序:排序基本概念和各种排序方法总结
查看>>
数据结构之排序:直接插入排序
查看>>
数据结构之排序:希尔排序
查看>>
数据结构之排序:冒泡排序
查看>>
数据结构之排序:快速排序
查看>>
数据结构之排序:直接选择排序
查看>>
数据结构之排序:堆排序
查看>>
数据结构之排序:归并排序
查看>>