【发布时间】:2015-10-16 16:58:26
【问题描述】:
我知道我们可以做到以下几点:
adb shell am start -a android.settings.AIRPLANE_MODE_SETTINGS
adb shell input keyevent 19 ; adb shell input keyevent 23
在安卓设备上打开/关闭飞行模式。
但是,有没有办法检查当前设备是否通过 ADB 开启了飞行模式?
我问这个是因为上面的两行代码会在不知道它是打开还是关闭的情况下切换飞行模式。但我需要一种方法来确保飞行模式确实通过 ADB 开启/关闭。
请帮帮我!
提前致谢
【问题讨论】:
-
对于特定设备,通过在两种情况下对
adb shell getprop的输出运行差异来显示有用的更改 - 例如使用网络运营商名称 - 但是可能很难编写所有设备/版本的一般规则。但是,既然您在谈论 ADB,也许您正在谈论在有限的设备集合上运行的自动化测试,您可以为此确定一组可行的实用检查。如果飞行模式未激活但设备由于某种原因暂时无法找到服务,您也可能会收到虚假报告。 -
我会说应该接受 Anand 的回答,因为 Alex 回答中的命令只是更改了飞行模式设置值(按钮状态),但没有任何实际效果(网络仍处于启用状态)。您必须在设置更改后广播意图,才能与手动点击设备上的飞行模式按钮具有相同的效果。