Как установить разрешение для доступа к API WIFI в скрипте Python (скрипт MonkeyRunner)
Я сейчас пишу MonkeyRunner
скрипт, который проверяет состояние Wi-Fi и включает его.
Для этого я импортирую Android API и его классы. Ниже приведен фрагмент кода
from android.net.wifi import WifiManager
глобальное состояние
state = WifiManager.isWifiEnabled()
состояние печати
При выполнении я получаю сообщение об ошибке:
state = WifiManager.isWifiEnabled()
TypeError: isWifiEnabled(): expected 1 args; got 0
Тогда я понял, что мне нужно разрешение для работы Wi-Fi и нашел в некоторых AndroidManifest.XML
файл, где они использовали
user-permission android:name="android.permission.ACCESS_WIFI_STATE"
Я сомневаюсь, что я запускаю скрипт на реальном устройстве и как я могу использовать
user-permission android:name="android.permission.ACCESS_WIFI_STATE"
в моем MonkeyRunner
файл сценария.
Есть ли способ установить разрешение с помощью android.Manifest.permission
Класс в файле сценария Python.
Заранее спасибо
Сурендра
2 ответа
НЕ отвечайте на ваш вопрос, но ваша цель работает.
Если вы просто хотите проверить, включен ли Wi-Fi или нет, вы можете использовать следующий код:-
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 и содержит только реализации-заглушки классов SDK, а не реализации, которые можно найти на реальных устройствах.
Кроме того, если на мгновение мы предположим, что он содержит реальные реализации, вы не сможете делать то, что вы намерены, потому что ваш monkeyrunner
скрипт работает на вашем компьютере разработки, а не на устройстве, так что если вам посчастливилось найти WifiManager
это работает, вы будете изменять настройки Wifi вашего компьютера.