How to turn off Wifi via ADB?
Using "svc" through ADB (rooted required):
Enable:
adb shell su -c 'svc wifi enable'
Disable:
adb shell su -c 'svc wifi disable'
Using Key Events through ADB:
adb shell am start -a android.intent.action.MAIN -n com.android.settings/.wifi.WifiSettingsadb shell input keyevent 20 & adb shell input keyevent 23
The first line launch "wifi.WifiSettings" activity which open the WiFi Settings page. The second line simulate key presses.
I tested those two lines on a Droid X. But Key Events above probably need to edit in other devices because of different Settings layout.
More info about "keyevents" here.
I was searching for the same to turn bluetooth on/off, and I found this:
adb shell svc wifi enable|disable
Simple way to switch wifi on non-rooted devices is to use simple app:
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 commands:
$ adb shell am start -n org.mytools.config/.MainActivity -e wifi true$ adb shell am start -n org.mytools.config/.MainActivity -e wifi false