【问题标题】:Android wifi script problemsAndroid wifi脚本问题
【发布时间】:2023-03-12 16:27:01
【问题描述】:

在过去的几天里,我有一个问题一直困扰着我。我想编写一个 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 身份调用它也是如此,而且由于 sudo 在 Android 中不存在,所以我在这里感觉很迷茫。我也尝试了一种解决方法,将脚本分成两部分,并尝试以 root 身份运行第一个,以非 root 身份运行第二个(Android i app_1 中的默认用户),但这只会延迟问题...

如果有人知道如何解决这个用户问题,或者在以 root 身份登录时如何使用iwlist eth0 scan(或其他相同的命令),我将不胜感激。

谢谢。

【问题讨论】:

  • 你用的是什么版本的 wireless(number).h?
  • 很抱歉,我不记得了,我担心脚本在我的旧 Nexus 手机中丢失了。我开始使用 Google Music 而不是上面的脚本。

标签: android linux shell scripting wifi


【解决方案1】:

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

ifconfig wlan0 up

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-03-07
    • 1970-01-01
    • 2012-11-03
    • 2018-02-16
    • 2022-06-14
    • 2021-12-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多