Как установить разрешение для доступа к 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 вашего компьютера.

Другие вопросы по тегам