回复
     ?️ HarmonyOS类型化应用拉起:让用户自主选择协作工具 原创
lyc2333333
 发布于 2025-6-26 23:13
 浏览
 0收藏
一、垂域应用类型与核心参数
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传递场景化数据,即可打造灵活的应用协作体验。
©著作权归作者所有,如需转载,请注明出处,否则将追究法律责任
 分类 
 标签 
   
        赞
        
 
        收藏 
      
 回复
  相关推荐
 



















