我看了一遍,我还没有找到这个问题的具体答案.我希望找到一种方法来从ADB切换飞机模式,不涉及任何方式的GUI.我找到并使用了调用菜单然后使用keyevents打开飞行模式的方法,但由于需要考虑UI布局的可能变化,这种方法只是一种临时解决方案.
我开始认为没有办法通过意图打开或关闭飞机模式,但如果你有任何信息,我会非常感激.
Daw*_*žan 40
首先,我绝不会依赖于盲目浏览UI的解决方案,如大多数答案所示.更多内容见下文.
我喜欢G murali的第一个答案,它建议以下方式启用飞机模式:
adb shell settings put global airplane_mode_on 1
Run Code Online (Sandbox Code Playgroud)
不幸的是,它不起作用.它只是改变飞行模式图标的状态,但所有无线电仍处于活动状态.
它缺少一个非常重要的部分,即在设置更改后立即广播意图,以通知应用程序飞行模式状态已更改.
要启用飞行模式,请使用以下命令:
adb shell settings put global airplane_mode_on 1
adb shell am broadcast -a android.intent.action.AIRPLANE_MODE
Run Code Online (Sandbox Code Playgroud)
要禁用飞行模式,您必须将设置设为0并再次广播意图:
adb shell settings put global airplane_mode_on 0
adb shell am broadcast -a android.intent.action.AIRPLANE_MODE
Run Code Online (Sandbox Code Playgroud)
它已经过测试并在Android 6上运行.
许多答案建议使用活动打开飞行模式设置,然后模拟一些按键以在UI中导航.我不建议依赖它.设备可能只有一个短暂的延迟,并且在打开"设置"对话框之前会按下键,或者同时会出现一些意外的对话框.在这两种情况下,按键都会导致意外的,可能有害的.
此外,UI可能在各种品牌,型号,Android版本等设备上有所不同.我已经在三星Galaxy S4(Android 6.0.1)上测试过它并没有在那里工作.它可能是三星和默认用户界面之间的差异.
设置操作方法应该是完全安全的.
wus*_*man 22
adb shell cmd connectivity airplane-mode
disabled
Run Code Online (Sandbox Code Playgroud)
adb shell cmd connectivity airplane-mode enable
adb shell cmd connectivity airplane-mode disable
Run Code Online (Sandbox Code Playgroud)
对于较新的 android,这将启用/禁用 wifi。不是你的任务,但我很乐意在这里找到它:
adb shell svc wifi disable
Run Code Online (Sandbox Code Playgroud)
或者
adb shell svc wifi enable
Run Code Online (Sandbox Code Playgroud)
归功于此答案:https : //stackoverflow.com/a/27228962/1021872
打开APN模式
adb shell settings put global airplane_mode_on 1
Run Code Online (Sandbox Code Playgroud)
关闭APN模式
adb shell settings put global airplane_mode_on 0
Run Code Online (Sandbox Code Playgroud)
在Android-L上验证
这就是我能够在模拟器(API 25)上启用飞行模式并克服权限问题的方法。
adb -s emulator-5554 shell settings put global airplane_mode_on 1
adb -s emulator-5554 shell 'su 0 am broadcast -a android.intent.action.AIRPLANE_MODE'
Run Code Online (Sandbox Code Playgroud)
请注意,您的“ su 0 ”可能会有所不同。例如,对于较旧的 api,我必须使用“ su & ”
如果您只想禁用模拟器上的数据,请使用
svc data disable
Run Code Online (Sandbox Code Playgroud)
但是,我见过模拟器在几秒钟后自动重新连接的情况。
小智 4
adb shell am start -a android.settings.AIRPLANE_MODE_SETTINGS
adb shell input keyevent 19 & adb shell input keyevent 23
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
37159 次 |
| 最近记录: |