HarmonyOS鸿蒙Next中碰一碰的applink中,对方接收方怎么获取extraData,有案例吗?

HarmonyOS鸿蒙Next中碰一碰的applink中,对方接收方怎么获取extraData,有案例吗? 全网都没找到案例代码,我看好像要新写一个 ShareExtensionAbility,但API17的手机没触发生命周期,module.json5也配置了,发送方走的是碰一碰 systemShare.SharedData,目前接受方是在EntryAbility的onCreate的生命周期,处理want-url的applinking直接拉起应用后续处理

image

{
  "module": {
    // ...
    "extensionAbilities": [
      {
        "name": "ShareExtAbility",
        "icon": "$media:icon",
        "description": "share",
        "type": "share",
        "exported": true,
        "srcEntry": "./ets/ShareExtAbility/ShareExtAbility.ets"
      }
    ]
  }
}

更多关于HarmonyOS鸿蒙Next中碰一碰的applink中,对方接收方怎么获取extraData,有案例吗?的实战教程也可以访问 https://www.itying.com/category-93-b0.html

6 回复

更多关于HarmonyOS鸿蒙Next中碰一碰的applink中,对方接收方怎么获取extraData,有案例吗?的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


看过了,没看到share里面构建extraData的案例,用extraData的地方也没看明白到底是怎么用的,

没看见extraData的获取。。。。。。

在HarmonyOS Next中,接收方通过UIAbility的onCreate()回调参数获取extraData。示例代码如下:

import UIAbility from '@ohos.app.ability.UIAbility';

export default class EntryAbility extends UIAbility {
  onCreate(want: Want, launchParam: AbilityConstant.LaunchParam): void {
    let extraData = want.parameters?.extraData;
    // 处理extraData数据
  }
}

其中want.parameters对象包含applink传递的所有参数,extraData为碰一碰传递的特定数据字段。

在HarmonyOS Next中,接收方通过AppLink获取extraData应在EntryAbility的onCreate中处理want参数。示例代码如下:

import UIAbility from '@ohos.app.ability.UIAbility';

export default class EntryAbility extends UIAbility {
  onCreate(want: Want, launchParam: AbilityConstant.LaunchParam) {
    // 获取AppLink传递的extraData
    let extraData = want.parameters?.extraData;
    if (extraData) {
      // 处理extraData逻辑
      console.info('Received extraData: ' + JSON.stringify(extraData));
    }
  }
}

配置module.json5中的skills字段支持AppLink:

{
  "module": {
    "abilities": [
      {
        "name": "EntryAbility",
        "skills": [
          {
            "actions": ["ohos.want.action.viewData"],
            "entities": ["entity.system.browsable"],
            "uris": [
              {
                "scheme": "applink",
                "host": "your.host.name"
              }
            ]
          }
        ]
      }
    ]
  }
}

使用ShareExtensionAbility适用于系统分享场景,但AppLink直接拉起应用时,EntryAbility的onCreate是正确入口。确保发送方通过systemShare.SharedData正确设置extraData参数。

回到顶部