Skip to content

系统模块(system)

system.launchApp - 启动应用

typescript
function system.launchApp(
 bundleId: string, // 应用 Bundle ID
): Promise<boolean>;

参数说明:

参数名类型是否必填默认值描述
bundleIdstring-要启动的应用 Bundle ID(按 Bundle ID 启动目标应用)

返回值:

类型描述
Promise<boolean>成功 true;失败 false

示例:

javascript
let launchOk = system.launchApp('com.apple.Preferences');
if (launchOk) {
 logger.debug('启动应用 system.launchApp 成功:', launchOk);
}else{
 logger.debug('启动应用 system.launchApp 失败:', launchOk);
}

system.stopApp - 停止应用

typescript
function system.stopApp(
 bundleId: string,
): Promise<boolean>;

参数说明:

参数名类型是否必填默认值描述
bundleIdstring-要停止的应用 Bundle ID(按 Bundle ID 停止目标应用)

返回值:

类型描述
Promise<boolean>成功 true;失败 false

示例:

javascript
let stopOk = system.stopApp('com.example.app');
if (stopOk) {
 logger.debug('停止应用 system.stopApp 成功:', stopOk);
}else{
 logger.debug('停止应用 system.stopApp 失败:', stopOk);
}

system.bringAppToForeground - 切到前台

typescript
function system.bringAppToForeground(
 bundleId: string,
): Promise<boolean>;

参数说明:

参数名类型是否必填默认值描述
bundleIdstring-目标应用 Bundle ID(将指定应用切换到前台)

返回值:

类型描述
Promise<boolean>成功 true;失败 false

示例:

javascript
let fgOk = system.bringAppToForeground('com.apple.mobilesafari');
if (fgOk) {
 logger.debug('切到前台 system.bringAppToForeground 成功:', fgOk);
}else{
 logger.debug('切到前台 system.bringAppToForeground 失败:', fgOk);
}

system.getForegroundApp - 当前前台应用

typescript
function system.getForegroundApp(): Promise<{
 bundleId: string;
 name: string;
 pid: number;
} | null>;

参数说明:

参数名类型是否必填默认值描述
(无)---无参数

返回值:

类型描述
`Promise<SystemForegroundAppnull>`

返回字段(非 null 时):

字段名类型是否必填默认值描述
bundleIdstring-应用 Bundle ID / 包名
namestring-应用显示名(iOS 可能回退自 label)
pidnumber-进程 ID;未知时可能为 0

示例:

javascript
let app = system.getForegroundApp();
if (app) {
 logger.debug('当前前台 system.getForegroundApp:', app.bundleId, app.name, app.pid);
}else{
 logger.debug('当前前台 system.getForegroundApp:null');
}

system.isLocked - 是否锁屏

typescript
function system.isLocked(): Promise<boolean>;

参数说明:

参数名类型是否必填默认值描述
(无)---无参数(查询设备是否处于锁屏状态)

返回值:

类型描述
Promise<boolean>true 已锁屏;false 未锁屏

示例:

javascript
let locked = system.isLocked();
if (locked) {
 logger.debug('是否锁屏 system.isLocked:已锁屏', locked);
}else{
 logger.debug('是否锁屏 system.isLocked:未锁屏', locked);
}

system.lockScreen - 锁屏

typescript
function system.lockScreen(): Promise<boolean>;

参数说明:

参数名类型是否必填默认值描述
(无)---无参数

返回值:

类型描述
Promise<boolean>成功 true;失败 false

示例:

javascript
let lockOk = system.lockScreen();
if (lockOk) {
 logger.debug('锁屏 system.lockScreen 成功:', lockOk);
}else{
 logger.debug('锁屏 system.lockScreen 失败:', lockOk);
}

system.unlockScreen - 解锁

typescript
function system.unlockScreen(): Promise<boolean>;

参数说明:

参数名类型是否必填默认值描述
(无)---无参数

返回值:

类型描述
Promise<boolean>成功 true;失败 false

示例:

javascript
let unlockOk = system.unlockScreen();
if (unlockOk) {
 logger.debug('解锁 system.unlockScreen 成功:', unlockOk);
}else{
 logger.debug('解锁 system.unlockScreen 失败:', unlockOk);
}

system.setClipboardText - 写入剪贴板

typescript
function system.setClipboardText(
 text: string,
): Promise<boolean>;

参数说明:

参数名类型是否必填默认值描述
textstring-要写入的文本(常需相关应用在前台或具备剪贴板权限)

返回值:

类型描述
Promise<boolean>成功 true;失败 false

示例:

javascript
let clipWriteOk = system.setClipboardText('hello');
if (clipWriteOk) {
 logger.debug('写入剪贴板 system.setClipboardText 成功:', clipWriteOk);
}else{
 logger.debug('写入剪贴板 system.setClipboardText 失败:', clipWriteOk);
}

system.getClipboardText - 读取剪贴板

typescript
function system.getClipboardText(): Promise<string | null>;

参数说明:

参数名类型是否必填默认值描述
(无)---无参数(无文本或不可读时返回 null

返回值:

类型描述
`Promise<stringnull>`

示例:

javascript
let clip = system.getClipboardText();
if (clip !== null) {
 logger.debug('读取剪贴板 system.getClipboardText:', clip);
}else{
 logger.debug('读取剪贴板 system.getClipboardText:null');
}

system.openUrl - 打开链接或 Scheme

typescript
function system.openUrl(
 url: string,
): Promise<boolean>;

参数说明:

参数名类型是否必填默认值描述
urlstring-完整 URL 或 Scheme(支持 http(s) 与自定义 Scheme)

返回值:

类型描述
Promise<boolean>成功调起 true;失败 false

示例:

javascript
let urlOk = system.openUrl('https://www.apple.com');
if (urlOk) {
 logger.debug('打开链接 system.openUrl 成功:', urlOk);
}else{
 logger.debug('打开链接 system.openUrl 失败:', urlOk);
}

system.postNotification - 系统通知

typescript
function system.postNotification(
 message: string,
 title?: string,
 notificationId?: string,
): Promise<void>;

参数说明:

参数名类型是否必填默认值描述
messagestring-通知正文
titlestring-通知标题
notificationIdstring-通知标识;相同 id 可用于更新同一条通知

返回值:

类型描述
Promise<void>发送完成后 resolve(无业务返回值)

示例:

javascript
system.postNotification('完成', '任务', 'task_done');

system.getMemoryUsage - 内存概览

typescript
function system.getMemoryUsage(): Promise<{
 used: number;
 available: number;
 total: number;
 usagePercentage: number;
}>;

参数说明:

参数名类型是否必填默认值描述
(无)---无参数

返回值:

类型描述
Promise<SystemMemoryUsage>内存概览对象(字段见下表)

返回字段:

字段名类型是否必填默认值描述
usednumber-已用内存(MB)
availablenumber-可用内存(MB)
totalnumber-总内存(MB)
usagePercentagenumber-使用百分比,范围约 0~100

示例:

javascript
let m = system.getMemoryUsage();
logger.debug('内存 system.getMemoryUsage used/mb', m.used, 'pct', m.usagePercentage);

system.getUsedMemoryMb - 已用内存(MB)

typescript
function system.getUsedMemoryMb(): Promise<number>;

参数说明:

参数名类型是否必填默认值描述
(无)---无参数

返回值:

类型描述
Promise<number>当前已使用内存(MB)

示例:

javascript
let u = system.getUsedMemoryMb();
logger.debug('已用内存 system.getUsedMemoryMb:', u);

system.getAvailableMemoryMb - 可用内存(MB)

typescript
function system.getAvailableMemoryMb(): Promise<number>;

参数说明:

参数名类型是否必填默认值描述
(无)---无参数

返回值:

类型描述
Promise<number>当前可用内存(MB)

示例:

javascript
let a = system.getAvailableMemoryMb();
logger.debug('可用内存 system.getAvailableMemoryMb:', a);

system.getTotalSystemMemoryMb - 总内存(MB)

typescript
function system.getTotalSystemMemoryMb(): Promise<number>;

参数说明:

参数名类型是否必填默认值描述
(无)---无参数

返回值:

类型描述
Promise<number>设备总内存(MB)

示例:

javascript
let t = system.getTotalSystemMemoryMb();
logger.debug('总内存 system.getTotalSystemMemoryMb:', t);

system.startAgentService - 启动自动化服务

typescript
function system.startAgentService(): Promise<boolean>;

参数说明:

参数名类型是否必填默认值描述
(无)---无参数(启动宿主侧自动化 / Agent 类服务,若宿主提供)

返回值:

类型描述
Promise<boolean>成功 true;失败 false

示例:

javascript
let startAgentOk = system.startAgentService();
if (startAgentOk) {
 logger.debug('启动自动化服务 system.startAgentService 成功:', startAgentOk);
}else{
 logger.debug('启动自动化服务 system.startAgentService 失败:', startAgentOk);
}

system.stopAgentService - 停止自动化服务

typescript
function system.stopAgentService(): Promise<boolean>;

参数说明:

参数名类型是否必填默认值描述
(无)---无参数(停止宿主侧自动化服务,若宿主提供)

返回值:

类型描述
Promise<boolean>成功 true;失败 false

示例:

javascript
let stopAgentOk = system.stopAgentService();
if (stopAgentOk) {
 logger.debug('停止自动化服务 system.stopAgentService 成功:', stopAgentOk);
}else{
 logger.debug('停止自动化服务 system.stopAgentService 失败:', stopAgentOk);
}

system.getAgentRunning - 自动化服务是否在运行

typescript
function system.getAgentRunning(): Promise<boolean>;

参数说明:

参数名类型是否必填默认值描述
(无)---无参数(查询由 startAgentService / stopAgentService 管理的服务是否运行)

返回值:

类型描述
Promise<boolean>true 运行中;false 未运行

示例:

javascript
let agentOn = system.getAgentRunning();
if (agentOn) {
 logger.debug('自动化服务 system.getAgentRunning:运行中', agentOn);
}else{
 logger.debug('自动化服务 system.getAgentRunning:未运行', agentOn);
}

(补充)system.* 的编辑器类型补全

typescript
// 扩展根据设置同步声明,非设备运行时 API

参数说明:

参数名类型是否必填默认值描述
wda.script.autoInstallTypingsboolean-默认开启开启时通过 TypeScript 插件注入扩展内 script-typings 补全(不再写入工作区 typings/autoclick-bridge/);关闭则不注入;若存在旧版生成目录会自动清理
wda.script.verboseBridgeLogboolean-默认关闭输出「Auto Click E」显示详细桥接过程(成功 ack、执行完成、模板缓存跳过、__CIT_JSON__)。关闭时脚本运行仅保留一行摘要、脚本 logger 与错误
关闭自动安装---可在脚本顶部手写 /// <reference path="…/systemModule.d.ts" />

返回值:

类型描述
无(编辑器配置说明)

示例:

javascript
let ok = system.launchApp('com.apple.Preferences');
if (ok) {
 logger.debug('launch', ok);
}else{
 logger.debug('launch fail', ok);
}
const app = system.getForegroundApp();
logger.debug('foreground', app);
system.postNotification('完成', '任务', 'task_done');