HarmonyOS鸿蒙Next中元服务跳转app的实现方式

HarmonyOS鸿蒙Next中元服务跳转app的实现方式 元服务使用Deep Linking实现跳转,元服务项目中走成功回调,但是会弹窗显示“未知异常,暂无法访问”。具体配置及点击事件请看截图。元服务中点击股票跳转app中查看行情。

7 回复

我也想通过元服务打开App,我想打开的是 系统的浏览器 App,使用的是

function startBrowsableAbility(context: common.UIAbilityContext): void {
  let want: Want = {
    action: 'ohos.want.action.viewData',
    entities: ['entity.system.browsable'],
    uri: 'https://www.huawei.com/'
  };
  context.startAbility(want)
    .then(() => {
      console.error('Start browsableAbility successfully.');
    })
    .catch((err: BusinessError) => {
      console.error(`Failed to startAbility. Code: ${err.code}, message: ${err.message}`);
    });
}

和你一样,提示系统异常

更多关于HarmonyOS鸿蒙Next中元服务跳转app的实现方式的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


你解决了吗
我也是同样问题,

查了下文档,现在 元服务 不支持跳转 App,

这个首先要配置白名单,然后需要一个时间更新一下配置 ,先打开应用市场等个几秒钟,大约5-10秒,等云侧的配置生效,然后再进行第一次跳转,可以这样试一下

在哪配置 我没找到,

在HarmonyOS鸿蒙Next中,元服务跳转App的实现主要依赖于want机制和ability组件。开发者可以通过定义want对象来指定目标应用的bundleNameabilityName,然后使用startAbility方法实现跳转。

具体步骤如下:

  1. 定义want对象:在需要跳转的代码中,创建一个want对象,并设置目标应用的bundleNameabilityName。例如:

    let want = {
        bundleName: "com.example.targetapp",
        abilityName: "com.example.targetapp.MainAbility"
    };
    
  2. 调用startAbility方法:使用startAbility方法启动目标应用。例如:

    this.context.startAbility(want).then(() => {
        console.log("跳转成功");
    }).catch((error) => {
        console.error("跳转失败", error);
    });
    
  3. 权限配置:确保在config.json中声明了相应的权限,如ohos.permission.START_ABILITIES

通过上述步骤,可以实现元服务跳转到指定App的功能。

在HarmonyOS鸿蒙Next中,元服务跳转App的实现方式主要依赖IntentAbility机制。具体步骤如下:

  1. 定义Intent:创建一个Intent对象,设置目标应用的bundleNameabilityName
  2. 启动Ability:调用startAbility(intent)方法,系统会根据Intent跳转到目标应用的指定Ability。
  3. 处理返回结果:如果需要处理跳转后的返回结果,可以使用startAbilityForResult(intent, requestCode),并在当前Ability中重写onAbilityResult方法。

这种方式适用于跨应用跳转,确保目标应用的Ability已正确配置。

回到顶部