我正在编写MonkeyRunner
脚本,用于检查wifi的状态并启用它。
为此,我正在导入android 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"
我的疑问是我在真实设备上运行脚本,我该如何使用
user-permission android:name="android.permission.ACCESS_WIFI_STATE"
在我的MonkeyRunner
脚本文件中。
有没有办法在python脚本文件中使用android.Manifest.permission
类设置权限。
先谢谢
苏兰德拉
答案 0 :(得分:0)
android.jar
是 Android SDK 的一部分,仅包含SDK类的存根实现,而不包含在实际设备上的实现。
此外,如果暂时我们认为它包含真正的实现,您将无法执行您想要的操作,因为您的monkeyrunner
脚本正在您的开发计算机上运行,而不是在设备上运行,因此,你很幸运能找到一个有效的WifiManager
,你将改变你的主机Wifi设置。
答案 1 :(得分: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)
我不确定所有Android设备,我已尝试过一些设备。