一、垂域应用类型与核心参数
1. 导航类应用(类型标识navigation
)
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
sceneType | number | 是 | 1-路线规划 2-导航 3-位置搜索 |
destinationLatitude | number | 是 | 终点纬度 |
destinationLongitude | number | 是 | 终点经度 |
vehicleType | number | 否 | 0-驾车 1-步行 2-骑行 3-公交 |
代码示例
const wantParam = {
sceneType: 1,
destinationLatitude: 39.9042,
destinationLongitude: 116.4074,
vehicleType: 0
};
context.startAbilityByType("navigation", wantParam, callback);
2. 金融类应用(类型标识finance
)
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
sceneType | number | 是 | 1-转账 2-信用卡还款 |
bankCardNo | string | 否 | 银行卡号 |
代码示例
const wantParam = {
sceneType: 1,
bankCardNo: "6222021100012345678"
};
context.startAbilityByType("finance", wantParam, callback);
二、媒体与文件处理类型
1. 图片编辑(类型标识photoEditor
)
// 拉起图片编辑应用并传递图片URI
const wantParam = {
uri: "file:///sdcard/photo.jpg"
};
context.startAbilityByType("photoEditor", wantParam, (result) => {
const editedUri = result?.uri; // 处理编辑后图片URI
});
2. 文件处理(通过Action拉起)
// 打开文本文件
const want = {
action: "ohos.want.action.viewData",
uri: "file:///sdcard/doc.txt",
type: "general.plain-text",
flags: common.WantConstant.Flags.FLAG_AUTH_READ_URI_PERMISSION
};
context.startAbility(want);
三、邮件类应用(类型标识mail
)
参数名 | 类型 | 说明 |
---|---|---|
string[] | 收件人邮箱 | |
subject | string | 邮件主题 |
body | string | 邮件正文 |
stream | string[] | 附件URI列表 |
代码示例
const wantParam = {
email: ["user@example.com"],
subject: "反馈邮件",
body: "问题描述...",
stream: ["file:///sdcard/attachment.jpg"]
};
context.startAbilityByType("mail", wantParam, callback);
四、开发核心要点
-
类型标识规范
- 必须使用系统定义的类型标识(如
navigation
/finance
) - 自定义类型需在配置文件中声明
skills
- 必须使用系统定义的类型标识(如
-
回调处理
const callback = { onResult: (data) => { /* 处理返回结果 */ }, onError: (code, msg) => { /* 错误处理 */ } };
-
权限控制
- 文件类操作需添加
FLAG_AUTH_READ_URI_PERMISSION
等权限标志 - 敏感操作(如金融转账)建议额外添加权限校验
- 文件类操作需添加
总结
通过startAbilityByType
接口,HarmonyOS实现了类型化应用拉起,允许用户自主选择同类型应用(如地图/银行/编辑器)。开发时需注意类型标识准确性、参数完整性及回调处理,结合WantParam
传递场景化数据,即可打造灵活的应用协作体验。