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

时间:2013-01-22 06:22:27

标签: android python monkeyrunner

我正在编写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类设置权限。

先谢谢

苏兰德拉

2 个答案:

答案 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设备,我已尝试过一些设备。