【问题标题】:Turning airplane mode on via ADB(Android 4.1 or earlier)通过 ADB 开启飞行模式(Android 4.1 或更早版本)
【发布时间】:2014-08-04 19:50:27
【问题描述】:

我找到了this question 我尝试如下:

settings put global airplane_mode_on 1
am broadcast -a android.intent.action.AIRPLANE_MODE --ez state true

它在 Android 4.4.1 上运行良好

但在 4.0.1 中不起作用。 (设置:未找到 / 支持 4.2 或更高版本。)

所以,我又试了as follows

adb shell am start -a android.settings.AIRPLANE_MODE_SETTINGS
adb shell input keyevent 19
adb shell input keyevent 23
adb shell input keyevent 4

还有,这个作品很奇怪

“AIRPLANE_MODE_SETTINGS”窗口弹出 -> 专注于飞行模式(不检查) -> 提高音量........

而且它是关屏的,不工作

所以我觉得这种方式不好。

Q:如何在 4.1 或更早版本中像“设置将 global plane_mode_on 1”一样工作?

【问题讨论】:

    标签: android adb


    【解决方案1】:

    AIRPLANE_MODE_ON 曾经属于 system 命名空间,然后他们将其移至 global。所以旧的设置命令应该是settings put system airplane_mode_on 1。但是由于 settings 命令在您的构建中不可用,您可以直接在数据库中修改值:

    sqlite3 /data/data/com.android.providers.settings/databases/settings.db "update system set value='1' where name='airplane_mode_on';"
    

    【讨论】:

    • 感谢您的回答。我在 Android 4.0.1 上试过,但找不到二进制“设置”。 New command-line binary 'settings' shipping with Android 4.2
    • settings 命令只是content://settings 内容提供者的包装。您可以直接在数据库中修改值
    • 在 2.3.3 中编辑值对是否可以上网没有影响。将值设置为 1 或 0,我仍然可以访问互联网。
    • @polym 您必须在设置更改后广播意图,如 OP 问题中所述。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多