Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/278.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何在python脚本(MonkeyRunner脚本)中设置访问WIFI API的权限_Android_Python_Monkeyrunner - Fatal编程技术网

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

Android 如何在python脚本(MonkeyRunner脚本)中设置访问WIFI API的权限,android,python,monkeyrunner,Android,Python,Monkeyrunner,我正在编写MonkeyRunner脚本来检查wifi的状态并启用它 为此,我导入了android API及其类。下面是代码片段 from android.net.wifi import WifiManager 全球国家 state = WifiManager.isWifiEnabled() 打印状态 执行时,我得到一个错误,如下所示: state = WifiManager.isWifiEnabled() TypeError: isWifiEnabled(): expected 1 arg

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

提前谢谢


Surendra是android SDK的一部分,它只包含SDK类的存根实现,而不包含真实设备上的实现


此外,如果我们认为它包含了真正的实现,那么您将无法执行您想要的操作,因为您的
monkeyrunner
脚本是在您的开发计算机上运行的,而不是在设备上运行的,因此,如果你足够幸运地找到一个工作正常的
WifiManager
,你将改变你的主机Wifi设置。

没有回答你的问题,但你的目标工作正常

如果您只想检查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设备,我已经在一些设备上试过了。

你导入了android.jar吗?是的,从android sdk windows\platforms\android-17平台文件夹中,我导入了android.jar,并将其保存在android sdk windows\tools文件夹中,monkeyrunner.bat和我的脚本文件都存在其中。你的意思是WifiManager.isWifiEnabled()是否在my dev m/c中执行而不是在设备上?并获取一个错误,因为TypeError isWifiEnabled()预期为1个参数,而实际为0。在这里,我不明白为什么在函数原型没有任何参数的情况下,它还需要一个参数。使用一些MonkeyRunner命令,可以在真实设备上打开主设置菜单,然后Wifi设置在哪里可以切换Wifi。在这里,我想在切换Wifi之前制作脚本以检查Wifi状态。如果我无法使用WifiManager,请告诉我是否有任何方法可以检查状态。我在中找到了这个。monkey工具直接在设备或模拟器上的adb shell中运行,并生成用户和系统事件的伪随机流。相比之下,monkeyrunner工具通过从API发送特定命令和事件,从工作站控制设备和模拟器。根据这个猜测,我应该能够使用WifiManager。你能帮我摆脱这个错误吗?这是最重要的部分:“通过发送特定命令从工作站…”嗨,米兰,在切换之前monkeyrunner工具中有没有其他方法来测试Wifi/Bluetooth的状态?幸运的一天,看看AndroidViewClient的一个例子:它可能就是你正在寻找的。。。