Adbを介してwifiのオフ/オンを自動化しています。
テストケースに基づいてwifiを無効/有効にしたい
これまでのところ、私は良い情報を見つけました ここ
ただし、次のコマンドを実行する前に接続をテストしたい
adb Shell am start -a Android.intent.action.MAIN -n com.Android.settings/.wifi.WifiSettings adb Shell input keyevent 19 & adb Shell input keyevent 19 & adb Shell input keyevent 23
上記のコマンドは、有効になっている場合はWi-Fiを無効にし、無効になっている場合はWi-Fiを有効にします。最初に接続をテストし、必要に応じてアクションを実行したいと思います。 adbコマンドを使用する方法があるかどうか疑問に思っています。これはプログラムで実現できますが、信頼性を高めるためにadbを介して実行する必要があります。
また、次のコマンドは、デバイスがルート化されている場合にのみ機能します
adb Shell "svc wifi enable"
また、次のコマンドは画面上でテストを起動しますが、adbを介して情報を提供しません
adb Shell am start -n com.Android.settings/.wifi.WifiStatusTest
以下のコマンドは、インターネットのステータスと接続モード(携帯電話またはWi-Fi)を提供します
adb Shell dumpsys connectivity
デバイスのWifiステータスに関するすべてを知るには:
adbシェルdumpsyswifi
有効になっているかどうかを知るには:
adbシェルdumpsyswifi | grep「Wi-Fiは」
より詳細なステータスを知るには:
adbシェルdumpsyswifi | grep "mNetworkInfo"
WiFiがオンになっているかどうかを判断しようとしている場合は、adb Shell settings get global wifi_on
を実行して、オンの場合は1を返し、オフの場合は0を返します。
複数のデバイスが接続されている場合は、adb -s [UDID_HERE] Shell settings get global wifi_on
を実行して、個々の電話のWiFiステータスを取得できます。 UDIDを見つけるには、adb devices
を実行できます。
これは、インターネットアクセスがあるかどうかだけを教えてくれますが、次のことができます。
adb Shell ping www.google.com