外观
jumpApp
约 519 字大约 2 分钟
2026-07-15
厂商应用跳转桥,提供原生应用跳转与快应用跳转。
jumpApp.jumpApp(uri, param)
jumpApp(uri: string, param: string): void| 参数 | 类型 | 必需 | 说明 |
|---|---|---|---|
uri | String | 是 | 原生目标 URI,必须以 native:// 开头 |
param | String | 是 | 交给目标应用的附加参数;需要结构化数据时由调用方先序列化 |
原生实现先检查两个参数都是字符串,再检查 URI scheme,随后记录 uri 与 param 并交给系统应用跳转器。缺参、传对象或非 native:// URI 都会直接失败。
import jumpApp from '@jumpApp'
const uri = 'native://target/path'
const param = JSON.stringify({ source: 'com.example.demo' })
try {
jumpApp.jumpApp(uri, param)
} catch (e) {
console.error('jump failed', e)
}target/path 的允许值由产品注册表决定。不要把示例占位 URI 当成真实系统应用地址。
jumpApp.launchQuickApp(uri, param?)
用于启动另一个快应用。接口会取得当前包名,其底层仍使用 URI 与附加参数模型:
launchQuickApp(uri: string, param?: string | object): void| 参数 | 类型 | 必需 | 说明 |
|---|---|---|---|
uri | String | 是 | 目标快应用 URI;应包含系统能解析的包名/页面信息 |
param | String/Object | 否 | 传给目标页面的启动参数;旧 wrapper 可能在进入 native 前序列化 |
固件明确检查:
- URI 必须以实现要求的 scheme 开头;
- 当前应用包名不能为空;
- 系统必须启用
CONFIG_QUICKAPP_VAPP_XMS,否则直接报不支持。
探测与兼容封装
import app from '@system.app'
console.log('jumpApp', app.canIUse('@jumpApp.jumpApp'))
console.log('launchQuickApp', app.canIUse('@jumpApp.launchQuickApp'))不同固件的 launchQuickApp wrapper 可能要求第二个参数已经是 JSON 字符串。可统一显式序列化:
export function launchQuickAppCompat(uri, params = {}) {
if (typeof uri !== 'string' || !uri) throw new TypeError('uri required')
const payload = typeof params === 'string' ? params : JSON.stringify(params)
return jumpApp.launchQuickApp(uri, payload)
}不要枚举系统包名或构造未知 scheme;错误跳转可能触发系统组件权限检查或把应用带离当前任务栈。
机型可用性
| Xiaomi Smart Band 10 Pro | Xiaomi Watch S4 41mm |
|---|---|
| △ | △ |
获取源代码
- 当前 openvela Feature Framework 仓库没有公开对应 JIDL或 C++ 实现。
- 可参考公开的 Feature Framework 仓库。