在安卓系统上通过bash脚本启用/禁用WiFi

9

我正在尝试在我的Android设备上的Bash脚本中启用/禁用wifi设备。 我正在使用终端模拟器和程序Script Manager在手机上执行Bash脚本(这是一个已root的Nexus One)。 在Linux中正常完成此操作的方法应该是类似于:

ifconfig eth0 up 

这让我...
"eth0: no such device"

尝试运行iwconfig eth0命令将得到相同的结果。
iwconfig 

提供了一个没有eth0设备的列表。现在,如果我手动从GUI打开wifi并输入

iwconfig

它显示了eth0的很多信息。

我的问题是:我怎样使用命令行打开/关闭wifi?为什么当wifi被禁用时,eth0会从设备列表中消失?

谢谢。

(Note: eth0指的是以太网连接)

你尝试过wlan0吗?那是传统的无线接口。我知道下面的答案对你有用,所以很好,但知道只是战斗的一半。 - Codebling
1个回答

16

虽然由于明显的原因它不能在我没有Root权限的手机上运行,但当连接WiFi时,我得到的结果完全不同:

$ ifconfig eth0
eth0: ip 192.168.0.102 mask 255.255.255.0 flags [up broadcast running multicast]
$ ifconfig eth0 up
error: SIOCSIFFLAGS (Permission denied)

如果您只想打开或关闭Wi-Fi,您应该使用:

# svc wifi enable
或者
# svc wifi disable

查看帮助信息

# svc wifi
Control the Wi-Fi manager

usage: svc wifi [enable|disable]
         Turn Wi-Fi on or off.

       svc wifi prefer
          Set Wi-Fi as the preferred data network

嗯...开启wifi后,我得到了以下信息:$ ifconfig eth0eth0: 无法分配请求的地址$ ifconfig eth0 up (或 down)错误:SIOCSIFFLAGS(权限被拒绝) - AHaahr

svc wifi enable

可以的,谢谢。奇怪的是我在谷歌上找不到这个。
- AHaahr

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接