adb命令 - Marshmallow - 更改首选网络模式LTE/GSM

Gra*_*nry 2 database sqlite adb android-6.0-marshmallow

我在6.0.1 Marshmallow操作系统上,我以前更改首选网络模式的命令不再有效.

Kit Kat中使用的命令没有问题:

adb shell sqlite3 /data/data/com.android.providers.settings/databases/settings.db "SELECT * FROM global WHERE name='preferred_network_mode'"
adb shell sqlite3 /data/data/com.android.providers.settings/databases/settings.db "update global SET value=1 WHERE name='preferred_network_mode'"
adb shell sqlite3 /data/data/com.android.providers.settings/databases/settings.db "select value FROM secure WHERE name='preferred_network_mode'
Run Code Online (Sandbox Code Playgroud)

在此操作系统中输入的上述命令导致输出:

Error: no such table: global
Run Code Online (Sandbox Code Playgroud)

我删除了完全为空的数据库文件:

adb pull /data/data/com.android.providers.settings/databases/
Run Code Online (Sandbox Code Playgroud)

是否有任何ADB命令可用于将preferred_network_mode更改为LTE/GSM?

Gra*_*nry 6

经过大量研究,这是我为Marshmallow找到的工作解决方案.

找到首选网络模式编号:https: //android.googlesource.com/platform/hardware/ril/+/master/include/telephony/ril.h#228

1是仅GSM

11仅是LTE

adb wait-for-devices
adb root
adb wait-for-devices
adb shell settings list global | grep pref
Run Code Online (Sandbox Code Playgroud)

这给我回复了"preferred_network_mode"和"preferred_network_mode1"

adb shell settings put global preferred_network_mode 1
adb shell settings put global preferred_network_mode1 1
adb shell stop ril-daemon
adb shell start ril-daemon
Run Code Online (Sandbox Code Playgroud)