You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何编写JAVA脚本在Android 6.0.1设备上批量关闭蜂窝网络指定功能

Android 6.0.1 MDM JavaScript操作脚本实现

核心逻辑对齐

你之前通过ADB实现的操作逻辑为:启动移动网络设置页→向下导航到目标功能→按确认键切换开关状态,以下脚本完全对齐该逻辑,适配原生Android 6.0.1系统的MDM推送场景。

通用JS脚本示例(适配支持shell调用的MDM)

绝大多数MDM的设备管理员权限支持直接执行系统shell命令,该写法兼容性最高:

// 启动移动网络设置页面
mdm.executeShellCommand("am start -n com.android.phone/.MobileNetworkSettings");

// 等待页面加载完成,可根据设备性能调整延时时长
setTimeout(() => {
    // 向下导航到目标选项,需按多少次就复制多少次该行代码,每次间隔300ms
    mdm.executeShellCommand("input keyevent 20");
    
    setTimeout(() => {
        // 按下确认键切换开关状态
        mdm.executeShellCommand("input keyevent 23");
        
        // 可选:操作完成后返回桌面
        setTimeout(() => {
            mdm.executeShellCommand("input keyevent 4");
        }, 500);
    }, 300);
}, 1500);

无shell权限场景的UI自动化写法

如果你的MDM仅开放了UI自动化的JS接口,可使用以下适配UiAutomator的写法:

const ui = mdm.getUiAutomator();
// 启动移动网络设置页
ui.launchActivity("com.android.phone", ".MobileNetworkSettings");
// 等待页面加载
ui.waitForIdle(2000);
// 向下导航
ui.pressKeyCode(20);
// 等待选中高亮
ui.waitForIdle(300);
// 确认切换开关
ui.pressKeyCode(23);

调整说明

  • 如果目标功能在设置列表的第N位,重复执行N次keyevent 20的调用即可,每次调用间隔加300ms延时避免按键漏识别
  • 第三方定制ROM如果移动网络设置页面路径不同,可通过dumpsys window windows | grep mCurrentFocus命令获取对应包名和类名替换脚本中的参数
  • 如需确保仅关闭不触发开启,可增加控件属性校验逻辑:读取开关的选中状态,仅为开启状态时再执行确认操作

内容的提问来源于stack exchange,提问作者Omar Abdelrazek

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 02:24:06