我到处都看了,我还没有找到这个问题的具体答案。我希望找到一种从 ADB 切换飞行模式的方法,该方法不以任何方式涉及 GUI。我找到并使用了调用菜单然后使用keyevents打开飞行模式的方法,但是由于需要考虑UI布局可能发生的变化,这种方法只是一个临时解决方案。
我开始认为没有办法通过意图打开或关闭飞行模式,但如果您有任何信息,我将不胜感激。
原文由 Charles Daily 发布,翻译遵循 CC BY-SA 4.0 许可协议
我到处都看了,我还没有找到这个问题的具体答案。我希望找到一种从 ADB 切换飞行模式的方法,该方法不以任何方式涉及 GUI。我找到并使用了调用菜单然后使用keyevents打开飞行模式的方法,但是由于需要考虑UI布局可能发生的变化,这种方法只是一个临时解决方案。
我开始认为没有办法通过意图打开或关闭飞行模式,但如果您有任何信息,我将不胜感激。
原文由 Charles Daily 发布,翻译遵循 CC BY-SA 4.0 许可协议
1 回答563 阅读✓ 已解决
1 回答1.5k 阅读
2 回答1k 阅读
1 回答1.3k 阅读
1 回答1.1k 阅读
1 回答964 阅读
1 回答583 阅读
首先,我绝不会像此处大多数答案中所建议的那样依赖 盲目浏览 UI 的解决方案。更多内容在下面的注释中。
我喜欢 G murali 的第一个答案,它建议执行以下操作以启用飞行模式:
不幸的是,它不起作用。它只是改变了 飞行模式 图标的状态,但所有 无线电仍然处于活动状态。
它缺少一个非常重要的部分,即在设置更改后立即 广播意图 以通知应用程序 飞行模式 状态已更改。
要 启用 飞行模式,请使用以下命令:
要 禁用 飞行模式,您必须将设置更改为 0 并再次广播意图:
它已经 过测试并可在 Android 6 上运行。
笔记
许多答案建议使用一个活动来打开飞行模式设置,然后模拟一些按键以在 UI 中导航。 我不建议依赖那个。在打开“设置”对话框之前,设备上可能只有短暂的滞后和按键,或者同时会出现一些意想不到的对话框。在这两种情况下,按键都会导致一些意想不到的事情,可能是有害的。
此外,不同品牌、型号、Android 版本等设备上的 UI 可能不同。我已经在 Samsung Galaxy S4 (Android 6.0.1) 上对其进行了测试,但它在那里不起作用。这可能是三星和默认用户界面之间的差异。
设置操作方法应该是绝对安全的。
—更新 2022 年 10 月 如果您遇到有关安全设置的错误,现在最好的解决方案是:对于移动数据:
adb shell svc data disable
对于 wifi:adb shell svc wifi disable