HarmonyOS 鸿蒙Next应用跳转到手机浏览器实现方法

发布于 1周前 作者 ionicwang 来自 鸿蒙OS

HarmonyOS 鸿蒙Next应用跳转到手机浏览器实现方法 可以提供个demo吗,感谢

3 回复

可以去参考两个应用相互跳转的demo,这个连接你参考一下:https://developer.huawei.com/consumer/cn/doc/best-practices-V5/bpta-jump-between-application-V5

更多关于HarmonyOS 鸿蒙Next应用跳转到手机浏览器实现方法的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


以下demo代码实现

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

import { Want } from '@ohos.app.ability.Want';

import { BusinessError } from '@ohos.base';

function startBrowsableAbility(context: common.UIAbilityContext): void {

  let want: Want = {
    action: 'ohos.want.action.viewData',
    entities: ['entity.system.browsable'],
    uri: 'https://www.baidu.com/'
  };

  context.startAbility(want)
    .then(() => {
      // ...
    })
    .catch((err: BusinessError) => {
      console.error(`Failed to startAbility. Code: ${err.code}, message: ${err.message}`);
    });
}

@Entry
@Component
struct Index {
  @State message: string = 'Hello World';

  build() {
    Row() {
      Column() {
        Text(this.message)
          .fontSize(50)
          .fontWeight(FontWeight.Bold)
          .onClick(() => {
            const context: common.UIAbilityContext = getContext(this) as common.UIAbilityContext;
            startBrowsableAbility(context);
          })
      }
      .width('100%')
    }
    .height('100%')
  }
}

其中uri: 'https://www.baidu.com/'为跳转网址,需要替换为对应的浏览器地址

在HarmonyOS(鸿蒙)系统中,实现应用跳转到手机浏览器的方法主要依赖于使用系统提供的Intent机制。以下是一个简洁的实现方法:

在鸿蒙应用中,你可以通过创建一个AbilityIntent对象,并设置其action为Intent.ACTION_VIEW,同时附上需要跳转的URL作为数据,来实现跳转到手机浏览器的功能。

具体步骤如下:

  1. 创建Intent对象:首先,你需要创建一个AbilityIntent实例。

  2. 设置Action:通过调用setAction(Intent.ACTION_VIEW)方法,设置Intent的动作为查看(即跳转到浏览器)。

  3. 设置数据:使用setData(Uri.parse("http://或https://开头的URL"))方法,将需要跳转的URL设置为Intent的数据。

  4. 启动Intent:最后,通过当前Ability的startAbility(intent)方法启动Intent,即可实现跳转到手机浏览器的操作。

示例代码(伪代码,具体实现需根据鸿蒙开发环境调整):

// 注意:此处虽用java语法示意,但逻辑适用于鸿蒙开发,非java或C语言实现
AbilityIntent intent = new AbilityIntent();
intent.setAction(Intent.ACTION_VIEW);
intent.setData(Uri.parse("https://www.example.com"));
startAbility(intent);

如果问题依旧没法解决请联系官网客服,官网地址是:官网地址

回到顶部