Wie schalte ich das Funksignal über adb ohne Flugzeugmodus aus?

Da ich versuche, ein Skript zum Neustarten des Funksignals zu erstellen und kein USB-Kabel für ADB verwende, muss ich mein mobiles Signal OHNE Flugzeug ausschalten (weil ich Wifi Hotspot und Wifi ADB verwende).

Gibt es dafür eine Lösung? Ich habe root und wifi adb laufen reibungslos ... und ich habe eine Lösung gesehen, wie mobile Daten zu deaktivieren und so weiter, aber das ist nicht genug für mich. Mein Mobilfunkanbieter stellt manchmal keine mobile Verbindung mehr her, und die einzige Möglichkeit, aktive mobile Daten zu erhalten, besteht darin, das Funksignal neu zu starten (genauso wie ich es tun würde, wenn ich # #4636*#*# eingebe und auf "Radio aus-/einschalten" drücke. Taste).

Wenn möglich, müsste ich nach dem Ausschalten des Funksignals +- 10 Sekunden warten, bevor ich wieder weitermache (ich nehme an, der Befehl dafür ist Schlaf 10).

Danke: D

PS: Android Lollipop 5.1.1 (Xperia Z1)

Antworten (1)

Ich muss mein Mobilfunksignal ausschalten, OHNE das Flugzeug zu benutzen (weil ich WLAN-Hotspot und WLAN-ADB verwende).

Sie können Ihr Gerät so konfigurieren, dass WLAN (einschließlich Hotspot) beim Aktivieren des Flugzeugmodus nicht angehalten wird.

( Hinweis: Ich habe die Lösung in Android 4.2.1, 4.4.2, 5.0.2 und 5.1.1 getestet.)

Die Radios, die ausgeschaltet werden sollen, wenn der Flugzeugmodus aktiviert wird, werden im Schlüssel airplane_mode_radiosunter der Tabelle globaldarin gespeichert /data/data/com.android.settings/databases/settings.db( Datenbank der App „ Einstellungen speichern“).

Richten Sie im PC ein, aktivieren Sie das USB-Debugging im Gerät, verbinden Sie es mit dem PC, starten Sie eine Shell und geben Sie einen der Befehle ein

adb shell settings get global airplane_mode_radios
adb shell content query --uri content://settings/global  --projection name:value --where "name='airplane_mode_radios'"

(Siehe Verwendung von Einstellungen und Inhaltsbefehlen unter Verwendung von Adb-Shell-Einstellungen und Adb-Shell-Inhalten )

Angesichts des von Ihnen ausgeführten Befehls sehen Sie so etwas wie (eines der Ergebnisse):

cell,bluetooth,wifi,nfc,wimax
Row: 0 name=airplane_mode_radios, value=cell,bluetooth,wifi,nfc,wimax

Sie können wifiden Wert entfernen, um das endgültige Ziel zu erreichen.

Geben Sie einen der Befehle ein:

adb shell settings put global airplane_mode_radios  "cell,bluetooth,nfc,wimax"
adb shell content update --uri content://settings/global --bind value:s:'cell,bluetooth,nfc,wimax' --where "name='airplane_mode_radios'"

Hinweis: Nicht kopieren und einfügen. Notieren Sie sich die Zeichenfolge, die Sie in der ersten Ausgabe erhalten haben. Entfernen wifi,Sie dann daraus und übergeben Sie das Ergebnis zwischen den doppelten Anführungszeichen "", wie ich es oben gezeigt habe.

Jetzt können Sie Wi-Fi/Hotspot einschalten, gefolgt vom Flugzeugmodus. Ihr WLAN/Hotspot lässt sich nicht ausschalten.

Die Notwendigkeit, ADB zu verwenden, war nur einmal gedacht. Wenn Sie sich entscheiden, Wi-Fi zu stoppen, wenn der Flugzeugmodus aktiv wird, fügen Sie einfach wifiden Wert dieses Schlüssels hinzu.

Antwort ursprünglich geschrieben für Möglich, den Flugmodus nur mit eingeschaltetem WLAN einzuschalten?

Danke! Darüber hinaus habe ich für die Ein- und Ausschaltfunktion des Flugzeugs Folgendes befolgt: Wie schalte ich das Mobilfunknetz in Lollipop/JellyBean mit adb aus? nur das Hinzufügen von ADB SHEEL vor jedem Befehl. :D
Ah, das war es, was ich vor einer Woche gebraucht hatte. Wenn Sie nur die Felder in der Datenbank aktualisieren, wird sie erst nach einem Neustart aktiviert. Ich wette, deiner braucht das nicht :)