HarmonyOS 鸿蒙Next 如何调用系统或其他浏览器来打开链接

HarmonyOS 鸿蒙Next 如何调用系统或其他浏览器来打开链接 请问如何调用系统或其他浏览器来打开链接

3 回复
import common from '@ohos.app.ability.common';

@Entry
@Component
struct Index {
  build() {
    Row() {
      Column() {
        Button('点击跳转到手机浏览器并打开网页')
          .margin({ top: 50 })
          .onClick(() => {
            try {
              let want = {
                // uncomment line below if wish to implicitly query only in the specific bundle.
                // bundleName: "com.example.myapplication",
                "action": "ohos.want.action.viewData",
                // entities can be omitted.
                "entities": ["entity.system.browsable"],
                uri: 'https://www.baidu.com',
                "type": "text/plain"
              }
              let context = getContext(this) as common.UIAbilityContext;
              context.startAbility(want)
              console.info(`explicit start ability succeed`)
            } catch (error) {
              console.info(`explicit start ability failed with ${error.code}`)
            }
          })
      }
      .width('100%')
    }
    .height('100%')
  }
}

更多关于HarmonyOS 鸿蒙Next 如何调用系统或其他浏览器来打开链接的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS鸿蒙Next中,调用系统或其他浏览器打开链接可以通过IntentAbility来实现。首先,需要创建一个Intent对象,并设置其Operation属性为Intent.ACTION_VIEW,然后通过Uri对象指定要打开的链接。接着,使用startAbility方法来启动该Intent

示例代码如下:

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

let intent = {
    action: 'ohos.intent.action.VIEW',
    uri: 'https://www.example.com'
};

featureAbility.startAbility(intent).then((data) => {
    console.log('Browser opened successfully');
}).catch((error) => {
    console.error('Failed to open browser', error);
});

这段代码会调用系统默认的浏览器或其他支持打开链接的应用来访问指定的URL。

回到顶部