鸿蒙Next如何打开外部浏览器

在鸿蒙Next系统里点击网页链接时,总是默认使用内置浏览器打开。请问如何设置才能让系统直接调用外部浏览器(比如Chrome或Edge)来打开链接?需要修改系统设置还是安装第三方工具?

2 回复

鸿蒙Next打开外部浏览器?简单!用want指定action.VIEW,再配上目标URL,系统就会自动弹窗让你选浏览器。代码示例:

Intent intent = new Intent();
intent.setAction("android.intent.action.VIEW");
intent.setUri(Uri.parse("https://example.com"));
startAbility(intent);

记得申请网络权限哦~(鸿蒙:这题我熟!)

更多关于鸿蒙Next如何打开外部浏览器的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在鸿蒙Next(HarmonyOS NEXT)中,你可以使用系统提供的 WebBrowser 能力来打开外部浏览器。以下是具体步骤和示例代码:

方法步骤:

  1. 导入模块:在代码中导入 @kit.NetworkKit@kit.AbilityKit 模块。
  2. 创建 WebBrowser 实例:使用 WebBrowser.createWebBrowser() 方法创建浏览器实例。
  3. 打开 URL:调用 webBrowser.openUrl() 方法,传入目标 URL。

示例代码:

import { webBrowser } from '@kit.NetworkKit';
import { BusinessError } from '@kit.BasicServicesKit';

// 定义要打开的 URL
let url: string = 'https://www.example.com';

// 创建 WebBrowser 实例
let webBrowserController: webBrowser.WebBrowserController = webBrowser.createWebBrowser();

// 打开外部浏览器
webBrowserController.openUrl(url).then(() => {
  console.log('成功打开浏览器');
}).catch((error: BusinessError) => {
  console.error('打开浏览器失败,错误码:' + error.code + ',错误信息:' + error.message);
});

注意事项:

  • 权限:确保应用已声明 ohos.permission.INTERNET 权限(在 module.json5 文件中配置)。
  • URL 格式:URL 必须以 http://https:// 开头,否则可能无法正常打开。
  • 错误处理:使用 Promise 的 .catch() 方法处理可能出现的异常(如网络问题或无效 URL)。

权限配置示例(module.json5):

{
  "module": {
    "requestPermissions": [
      {
        "name": "ohos.permission.INTERNET"
      }
    ]
  }
}

通过以上代码,应用可以调用系统默认浏览器打开指定网页。如果用户设备安装了多个浏览器,系统会弹出选择列表供用户选择。

回到顶部