点击按钮, 用外部浏览器打开一个url HarmonyOS 鸿蒙Next

点击按钮, 用外部浏览器打开一个url HarmonyOS 鸿蒙Next 在应用内点击一个按钮, 然后跳转到外部浏览器打开一个url, 如何实现

3 回复

参考下这个demo:

import { common, Want } from '@kit.AbilityKit';
import { BusinessError } from '@kit.BasicServicesKit';

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

  build() {
    Column() {
      Button('跳转浏览器')
        .onClick(() => {
          let context = getContext(this) as common.UIAbilityContext;
          let wantInfo: 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: ''
          }
          context.startAbility(wantInfo).then(() => {
            // ...
          }).catch((err: BusinessError) => {
            // ...
          })
        })
        .width(200)
        .height(200)
        .type(ButtonType.Normal)
    }.alignItems(HorizontalAlign.Start)
    .height('100%')
    .width('100%')
  }
}

更多关于点击按钮, 用外部浏览器打开一个url HarmonyOS 鸿蒙Next的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


//打开浏览器 export function openBrowser(context: common.UIAbilityContext, urlPath: string) { let wantInfo: Want = { action: ‘ohos.want.action.viewData’, entities: [‘entity.system.browsable’], uri: urlPath } context.startAbility(wantInfo).then(() => {

}).catch(() => { showToast(“操作错误”) }) }

在HarmonyOS(鸿蒙Next)中,点击按钮并使用外部浏览器打开一个URL,可以通过IntentUri实现。以下是一个示例代码片段,展示如何在鸿蒙系统中实现这一功能:

import featureAbility from '@ohos.ability.featureAbility';
import wantConstant from '@ohos.ability.wantConstant';

// 定义按钮点击事件
function openUrlInBrowser() {
    // 定义要打开的URL
    const url = 'https://www.example.com';

    // 创建Intent对象
    let intent = {
        action: wantConstant.Action.VIEW_ACTION,
        uri: url,
        flags: wantConstant.Flags.FLAG_ABILITY_NEW_MISSION
    };

    // 启动外部浏览器
    featureAbility.startAbility(intent)
        .then(() => {
            console.log('URL opened in external browser');
        })
        .catch((error) => {
            console.error('Failed to open URL:', error);
        });
}

在这个示例中,Intent对象用于指定要执行的操作(ACTION_VIEW)以及要打开的URL。startAbility方法用于启动外部浏览器应用并打开指定的URL。如果操作成功,控制台会输出“URL opened in external browser”;如果失败,会输出错误信息。

回到顶部