碰一碰分享

2024-11-10 12:11:35
23次阅读
0个评论

华为分享新推出一碰分享,支持用户通过一碰发起跨端分享,可实现传输图片、共享wifi等。

  • 宿主应用进入一个可以分享的界面,比如打开或者选中的一个文件、一条备忘录、一个联系人详情,或个人热点/WIFI等。
  • 宿主应用可以分享多个内容,如选中的多张图片等。

流程说明

点击放大

  1. 宿主应用注册一碰分享事件,并与亮屏的对端设备碰一碰。
  2. 宿主应用发现设备,调用一碰分享事件回调,在回调事件中构造分享数据并发送。
  3. 目标设备接收并处理分享数据。
  4. 宿主应用解除注册靠近分享事件。

开发步骤

  1. 导入相关模块。

    import { uniformTypeDescriptor as utd } from '@kit.ArkData';
    import { systemShare, harmonyShare } from '@kit.ShareKit';
    
  2. 当用户进入分享界面时,注册一碰分享事件。

    // 注册华为分享'knockShare'监听事件
    harmonyShare.on('knockShare', (sharableTarget: harmonyShare.SharableTarget) => {
      // 构造分享数据
      let shareData: systemShare.SharedData = new systemShare.SharedData({
        utd: utd.UniformDataType.PLAIN_TEXT,
        content: '这是一段文本内容',
      });
      // 发起分享
      sharableTarget.share(shareData);
    });
    
  3. 当用户离开分享界面时,取消一碰分享事件。

    // 取消华为分享'knockShare'监听事件
    harmonyShare.off('knockShare');
    

完整代码

import { uniformTypeDescriptor as utd } from '@kit.ArkData';
import { systemShare, harmonyShare } from '@kit.ShareKit';
@Entry
@Component
struct SharePage {
  @State message: string = 'Hello World';

  build() {
    Column() {
      Button("碰一碰分享").onClick(()=>{
        // 注册华为分享'knockShare'监听事件
        harmonyShare.on('knockShare', (sharableTarget: harmonyShare.SharableTarget) => {
          // 构造分享数据
          let shareData: systemShare.SharedData = new systemShare.SharedData({
            utd: utd.UniformDataType.PLAIN_TEXT,
            content: '坚果派开发者社区成立于 2021 年 8 月,目前在中国互联网行业领域已建立了相当完善的开源软件分类及收录,目前已收录了国内知名开源项目近 1万款,汇总开发者超100w。作为国内互联网开发领域的专业型技术平台,坚果派致力于为各位开发爱好者提供最新最热门的开源资讯、软件更新资讯、技术分享及交流等区块内容。\n' +
              '\n' +
              '经过在鸿蒙(OpenHarmony/HarmonyOS)领域四年+的深耕及以及结合中国本土开源环境的不断探索,坚果派在自身不断优化精进的过程中也很大程度上推动了中国鸿蒙生态以及相关开源领域的快速发展。目前它已发展成为国内知名的开源开发者技术社区,日均有 1万开发者活跃在社区,坚果派将长期致力于推动国内开源软件的应用和发展,积极提升本土开源能力,为中国开源生态环境的优化提供技术支持,以及赋能每一位参与开源的开发者,让其得到应有的归属和发挥出更大的个人价值。',
          });
          // 发起分享
          sharableTarget.share(shareData);
        });
      })
    }
    .height('100%')
    .width('100%')
  }
}

参考

systemShare(系统分享)

harmonyShare(华为分享)

备注

作者:夏天

链接:https://www.nutpi.net/

出处:https://www.arkui.club/

来源:坚果派

著作权归作者所有,禁止任何未经授权的个人或组织以任何形式将本案例集及其附属资料、创新、创意、架构设计、算法、衍生作品等用于任何商业目的、盈利活动、各类竞赛(比赛)、直播教学、录播教学、线下课程、书籍编写、教材编写、会议、培训、公益活动、项目课题、毕业设计、毕业论文、学术论文等。商业转载请联系作者获得授权,非商业转载请注明出处。否则追究相关责任。

收藏00

登录 后评论。没有帐号? 注册 一个。