Android wifi脚本问题

AHa*_*ahr 5 linux shell scripting android wifi

在过去的几天里,我有一个问题一直困扰着我.我想写一个Android sh脚本执行以下操作(帮助我同步音乐,图片等):

1)打开wifi(默认情况下wifi关闭以节省电量)

2)检查我的wifi连接是否在范围内(让我们称之为myWifi)

3)如果myWifi不在范围内,禁用wifi,如果在范围内,则连接并启动一些同步软件

现在,要启用/禁用wifi,我使用以下命令,这需要root:

svc wifi enable / disable

要扫描可用的wifi连接,我使用以下命令:

iwlist eth0 scan

事情是,iwlist eth0 scan只有当我没有以root身份登录时才能工作(我很好奇为什么会这样,如果有人知道什么?),运行它时root会返回:

eth0: Interface doesn't support scanning : Invalid argument

但是在没有以root身份登录的情况下运行它会给我我需要的信息.我尝试过不同的方法来解决这个问题.最明显的一个是在调用iwlist命令之前以Android系统中的标准用户身份登录:

su -c app_1

但是,任何涉及su的命令都会permission denied在以root身份调用时返回,并且由于Android中不存在sudo,我觉得这里很丢失.我也尝试了一个解决方法,包括将脚本分成两部分,并尝试以root身份运行第一部分,第二部分运行非root(Android i app_1中的默认用户),但这只会延迟问题......

如果有人iwlist eth0 scan在以root用户身份登录时如何解决此用户问题或如何使用(或执行相同操作的其他命令),我将非常感激.

谢谢.

Sec*_*one 0

根据man iwlist , 普通用户只能看到一些剩余的扫描结果。要以 root 身份启动新扫描,您首先需要启动界面(启动 wifi 后):

ifconfig wlan0 up
Run Code Online (Sandbox Code Playgroud)