即時通訊自動化測試程序的WiFi呼叫,我想知道有沒有辦法通過adb關閉/開啓WiFi?如何通過ADB關閉Wifi?
我想要禁用/啓用wifi或殺死wifi調用(com.movial.wificall)並重新啓動它。
是否有可能通過adb和shell命令完成此操作?
到目前爲止,我還發現:
android.net.wifi.WifiManager
setWifiEnabled(true/false)
我只是不知道如何把它一起
即時通訊自動化測試程序的WiFi呼叫,我想知道有沒有辦法通過adb關閉/開啓WiFi?如何通過ADB關閉Wifi?
我想要禁用/啓用wifi或殺死wifi調用(com.movial.wificall)並重新啓動它。
是否有可能通過adb和shell命令完成此操作?
到目前爲止,我還發現:
android.net.wifi.WifiManager
setWifiEnabled(true/false)
我只是不知道如何把它一起
啓用:
adb shell su -c 'svc wifi enable'
禁用:
adb shell su -c 'svc wifi disable'
adb shell am start -a android.intent.action.MAIN -n com.android.settings/.wifi.WifiSettings
adb shell input keyevent 20 & adb shell input keyevent 23
第一行推出 「wifi.WifiSettings」 活動,其打開WiFi設置頁面。第二行模擬按鍵。
我在Droid X上測試了這兩行代碼,但上面的關鍵事件可能需要在其他設備中編輯,因爲不同的設置佈局。
更多關於「keyevents」的信息here。
我正在尋找同樣打開藍牙開/關,我發現這一點:
adb shell svc wifi enable|disable
我試過在6種不同的設備上使用這段代碼,從薑餅到果凍豆,根植於無根,我無法讓它在任何一種設備上工作。什麼設備可以讓這個工作? – Nefariis 2012-09-11 21:44:05
@Nefarii - 爲此我需要請求adb外殼進入設備.....然後請求su權限....然後我能夠正確運行這些命令。 – dell116 2012-10-18 20:47:20
確保您擁有root權限才能使用。 – muslidrikk 2013-02-05 11:12:11
簡單的方式開啓無根設備的WiFi是使用簡單的應用程序:
public class MainActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
WifiManager wfm = (WifiManager) getSystemService(Context.WIFI_SERVICE);
try {
wfm.setWifiEnabled(Boolean.parseBoolean(getIntent().getStringExtra("wifi")));
} catch (Exception e) {
}
System.exit(0);
}
}
的AndroidManifest.xml:
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
ADB命令:
$ adb shell am start -n org.mytools.config/.MainActivity -e wifi true
$ adb shell am start -n org.mytools.config/.MainActivity -e wifi false
我調整了這一點,並改變了BroadcastReceiver的活動,以便它可以添加到任何應用程序,它不會顯示任何GUI。 – 2012-11-05 15:40:46
@ ferdy182:您可以發佈代碼,以便其他人可以使用和評估它嗎? – GodMan 2012-11-07 09:46:10
@GodMan在這裏找到https://plus.google.com/110502863648146989289/posts/Ri1Dcm6cn48 – 2012-12-20 09:45:56
adb shell "svc wifi enable"
這個工作&這使得在後臺操作,而無需打開相關選項!
我測試了這個命令:adb shell am start -a android.intent.action.MAIN -n com.android.settings/.wifi。WifiSettings 亞行外殼輸入KeyEvent的19 &亞行外殼輸入KeyEvent的19 &亞行外殼輸入KeyEvent的23
而且只能在窗口的提示,也許是因爲一些司機
約亞行外殼SVC無線網絡啓用|禁用我想,只有擁有root權限的工作
這非常有用:我的Genymotion仿真程序隨機啓動,但可用的WiFi有時未選中。我用這個:shell'am start -a android.intent.action.MAIN -n com.android.settings/.wifi.WifiSettings;輸入鍵事件20;輸入鍵事件23' – 2016-12-08 15:16:43
android/android-sdk/platform-tools
打開CMD此處鍵入以下命令
adb shell
su
svc wifi enable/disable
做!!!!!
我可以這樣做:
settings put global wifi_on 0
settings put global wifi_scan_always_enabled 0
有時候,如果在引導過程中完成的(即固定bootloop such as this),它並不適用好,你還可以繼續首先啓用飛行模式:
settings put global airplane_mode_on 1
settings put global wifi_on 0
settings put global wifi_scan_always_enabled 0
其他選項是強制的:
while true; do settings put global wifi_on 0; done
在LG G5(SE)的Android 7上進行了測試(無根)的股票mod。
非常感謝你的帖子。它在我的手機上並不完全一樣,但自從發佈輸入事件後,我發現它是關鍵事件19和23.再次感謝。 :) – Nefariis 2012-04-10 15:56:00
好吧,你知道了嗎?是的,我測試了一個Droid X,我不確定你有什麼電話:) – 2012-04-10 16:21:51
在我看來,Berkk的答案要好得多(特別是少一些)。 – karni 2013-04-11 19:44:36