如何在Python脚本中设置访问WIFI API的权限(MonkeyRunner脚本)

0 投票
2 回答
1312 浏览
提问于 2025-04-17 13:20

我正在写一个 MonkeyRunner 脚本,用来检查 WiFi 的状态并开启它。

为此,我导入了安卓的 API 和一些类。下面是代码片段:

from android.net.wifi import WifiManager

全局状态

state = WifiManager.isWifiEnabled()

打印状态

在执行的时候,我遇到了一个错误:

state = WifiManager.isWifiEnabled()

TypeError: isWifiEnabled(): expected 1 args; got 0

然后我意识到,我需要权限才能进行 WiFi 操作,并在某个 AndroidManifest.XML 文件中找到了相关内容,里面使用了:

user-permission android:name="android.permission.ACCESS_WIFI_STATE"

我有个疑问,我是在真实设备上运行这个脚本,怎么才能在我的 MonkeyRunner 脚本文件中使用:

user-permission android:name="android.permission.ACCESS_WIFI_STATE"

有没有办法在 Python 脚本文件中使用 android.Manifest.permission 类来设置权限呢?

提前谢谢你!

Surendra

2 个回答

0

这不是对你问题的回答,但你的目标是可以实现的。

如果你只是想检查WiFi是否开启,可以使用下面的代码:

import re
import os
def is_wifi_enabled(deviceid):
    wifistate = os.popen('adb -s %s shell getprop wlan.driver.status'%deviceid).read()
    wifion=re.search(r'ok',wifistate)
    return wifion
 is_wifi_enabled(deviceid)

我不确定所有安卓设备都适用,我在一些设备上试过。

0

android.jarAndroid SDK 的一部分,它里面只包含了一些空壳的类实现,并不是真正设备上运行的那些实现。

而且,就算我们假设里面有真正的实现,你也无法完成你想做的事情,因为你的 monkeyrunner 脚本是在你的开发电脑上运行的,而不是在设备上。所以即使你运气好找到了一个可以用的 WifiManager,你也只是会在你的电脑上更改Wifi设置。

撰写回答