在我的部分测试中,我正在检查我的应用程序是否可以处理从飞行模式返回到正常模式。
寻找在真实Android设备上启用/禁用飞行模式的过程。
我发现的只是如何在此处启用/禁用模拟器上的WiFi和数据 - 使用Calabash打开和关闭飞行模式的最佳方法。尝试在我的真实设备(LG G3 – Android 5.0)上运行这些命令,但没有任何反应。
在我的设备上查看我的服务列表(adb shell service list
),但找不到飞机。
我知道更改为飞行模式会禁用数据/WiFi/蓝牙/GPS
有没有办法在真实设备上启用飞行模式?甚至只是数据/WiFi(足以进行我的测试)?
如果你对 adb 命令没有运气,您可以使用adb shell input
手势启用/禁用飞行模式。
adb -s <DeviceSerialNumber> shell input touchscreen swipe x1 y1 x2 y2 time
其中x1,x2,y1,x2
是滑动开始和结束坐标,time
是执行手势的时间(以毫秒为单位)。
通过组合这些,您可以在屏幕上执行任何操作。
例如飞行模式。
- 获取设备的屏幕分辨率
- 从顶部滑动通知栏
- 触摸飞行模式
- 并按返回按钮
这不是最好的方法,但有时会派上用场。
另一种解决方法
https://developer.android.com/reference/android/provider/Settings.Global.html
检查您感兴趣的设置,然后使用 adb shell settings put
例如:
adb -s <DeviceSerialNumber> shell settings put global airplane_mode_on 1
关于事件的问题:
如何使用ADB通过发送事件命令将触摸事件发送到设备?