在我的Android设备上,我同时连接了以太网和Wifi网络。
我想要实现的是,我想要检查,如果无线和以太网这两个连接是活动的同时,然后我想禁用Wifi网络,并保持以太网连接上。
我使用android WifiManager和BroadcastReceiver android.net.conn.CONNECTIVITY_CHANGE来检查Wifi的连接/断开状态,以及启用/禁用Wifi网络。
但我无法检查以太网连接状态,也无法启用/禁用以太网连接。
为了检查以太网连接状态,我正在读取系统文件'/sys/class/net/eth0‘,它返回给我正确的以太网状态。但是对于启用/禁用以太网,我不知道该怎么做。
我有由Android提供的设置菜单中的以太网连接选项,我们可以从那里配置设备的以太网连接。
在ConnectivityManager中有一个getActiveNetworkInfo接口,它只返回当前连接的网络接口,但我想检索所有连接的接口列表,我们可以从这些接口连接到互联网。
Android上有没有什么服务可以让我访问启用/禁用以太网连接,以及获取以太网连接状态的API?
谢谢。
发布于 2012-01-19 21:11:26
一种方法是归档,
安卓操作系统在/sys/class/net/eth0/operstate文件中更新安卓设备当前的以太网状态。我们需要读取此文件以获取状态。
如果以太网打开,文件将包含字符串UP,否则,如果以太网关闭,文件将包含字符串DOWN。
我尝试过这种方法,它对我很有效。
但不确定它是否能在所有Android版本的所有设备上运行。
https://stackoverflow.com/questions/8924269
复制相似问题