如何在Python脚本中设置访问WIFI API的权限(MonkeyRunner脚本)
我正在写一个 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.jar
是 Android SDK 的一部分,它里面只包含了一些空壳的类实现,并不是真正设备上运行的那些实现。
而且,就算我们假设里面有真正的实现,你也无法完成你想做的事情,因为你的 monkeyrunner
脚本是在你的开发电脑上运行的,而不是在设备上。所以即使你运气好找到了一个可以用的 WifiManager
,你也只是会在你的电脑上更改Wifi设置。