news 2026/7/30 4:31:21

HarmonyOS应用开发实战:猫猫大作战-startByType 通过类型启动

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
HarmonyOS应用开发实战:猫猫大作战-startByType 通过类型启动

前言

startByType通过指定文件类型启动其他应用来处理该文件。在「猫猫大作战」中,使用 startByType 打开图片分享到社交应用。

一、startByType 基础

import{common}from'@kit.AbilityKit';asyncfunctionshareImage(context:common.UIAbilityContext,fileUri:string):Promise<void>{constwant={action:'ohos.want.action.sendData',type:'image/jpeg',parameters:{'ability.params.stream':[fileUri],},};try{awaitcontext.startAbility(want);console.info('分享应用已启动');}catch(err){console.error(`启动失败:${err.message}`);}}

二、支持的 type

type说明示例
image/jpegJPGE 图片分享截图
image/pngPNG 图片分享图标
text/plain纯文本分享文本
application/jsonJSON分享数据

三、游戏中的应用

// 分享战绩截图asyncfunctionshareScoreScreenshot(context:common.UIAbilityContext):Promise<void>{// 1. 截图constpixelMap=awaitgetUIContext().createPixelMap({width:360,height:640});// 2. 保存到临时文件consttempPath=`${getContext().tempDir}/score_share.jpg`;constpacker=image.createImagePacker();constbuffer=awaitpacker.packing(pixelMap,{format:'image/jpeg',quality:85});packer.release();constfile=fileIo.openSync(tempPath,fileIo.OpenMode.CREATE|fileIo.OpenMode.WRITE_ONLY|fileIo.OpenMode.TRUNC);fileIo.writeSync(file.fd,buffer);fileIo.closeSync(file);// 3. 通过类型启动分享awaitshareImage(context,`file://${tempPath}`);}

四、最佳实践

  1. type 精准:指定 MIME 类型提高匹配率
  2. 文件 URI:使用file://协议
  3. 临时文件:分享后系统可删除
  4. try-catch:目标应用不存在时捕获异常

总结

startByType 通过文件类型启动其他应用处理文件,适合分享截图。核心要点:type指定 MIME 类型、fileUri文件路径、startAbility启动

如果这篇文章对你有帮助,欢迎点赞👍、收藏⭐、关注🔔,你的支持是我持续创作的动力!


相关资源:

  • startAbility 文档
  • 第 109 篇:start-ability
  • 第 111 篇:engine-class
  • 第 154 篇:ShareKit
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/30 4:28:33

Claude Code与Kimi K3推理栈:AI开发工具对比与实战指南

今天我们来深入分析两个备受关注的开源项目&#xff1a;Claude Code 和 Kimi K3 推理栈。这两个项目在 AI 开发领域引起了广泛讨论&#xff0c;特别是关于代码生成能力和推理效率的优化。 Claude Code 是 Anthropic 推出的代码生成工具&#xff0c;专注于提升开发者的编程效率…

作者头像 李华
网站建设 2026/7/30 4:27:15

Python深度学习在智能农业数据分析中的应用与实践

1. 项目概述&#xff1a;智能农业数据分析系统的核心价值 这个基于Python和深度学习的智能农业数据分析系统&#xff08;项目代号hx2779&#xff09;本质上是一个面向现代农业生产的决策支持工具。我在实际部署中发现&#xff0c;它能将传统农业中依赖经验的模糊判断转化为数据…

作者头像 李华
网站建设 2026/7/30 4:24:17

三菱PLC FB模块:从积木到乐高的结构化编程实战

1. 从“积木”到“乐高”&#xff1a;为什么FB模块是PLC编程的分水岭如果你已经跟着三菱PLC的学习路径&#xff0c;从梯形图的基本指令玩到了定时器、计数器&#xff0c;甚至开始用一些简单的子程序&#xff0c;那你可能会觉得&#xff0c;编程不就是把一堆逻辑块堆起来吗&…

作者头像 李华
网站建设 2026/7/30 4:20:28

基于51单片机的五波形信号发生器设计与实现

1. 项目概述与核心价值最近在整理以前做过的单片机项目&#xff0c;翻出来一个用51单片机做的信号发生器&#xff0c;功能还挺全&#xff0c;能出五种波形。当时是为了参加一个校内电子设计赛准备的&#xff0c;虽然现在看方案有点“复古”&#xff0c;但整个从原理图设计、代码…

作者头像 李华
网站建设 2026/7/30 4:18:55

2026 下半年 AI 推理基础设施趋势:从 GPU 紧缺到智能调度

2026 下半年 AI 推理基础设施趋势&#xff1a;从 GPU 紧缺到智能调度 一、推理成本的规模拐点&#xff1a;GPU 不再是唯一瓶颈 2026 年上半年&#xff0c;AI 推理需求的增速远超预期。根据多家云厂商财报数据&#xff0c;推理工作负载的算力消耗已经超过训练&#xff0c;占比…

作者头像 李华