HarmonyOS 鸿蒙Next App外部浏览器唤起

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

HarmonyOS 鸿蒙Next App外部浏览器唤起

华为自带浏览器唤起APP并打开指定页面,目前如何实现?

2 回复

看一下App Linking能否满足需求:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/app-linking-startup-V5#section11648192453716 或者参考一下应用间跳转场景开发实践:https://developer.huawei.com/consumer/cn/doc/best-practices-V5/bpta-jump-between-application-V5#section17457164153818

如:

Button("拉起浏览器").onClick(() => {

  let context = getContext(this) as common.UIAbilityContext;

  let want: Want = {

    action: "ohos.want.action.viewData",

    bundleName: 'com.huawei.hmos.browser',

    abilityName: 'MainAbility',

    uri: "https://www.baidu.com/",

  };

  console.log("want", want)

  context.startAbility(want)

}).margin(10)

entity.system.browsable指示浏览器类别。

https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-ability-wantconstant-V5#entity

“entities"列表中包含"entity.system.browsable”。

https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-inner-application-uiextensioncontext-V5#uiextensioncontextopenlink12

在应用的module.json5文件中进行如下配置,可以声明应用关联的域名地址,并开启域名校验开关。

“entities"列表中必须包含"entity.system.browsable”。

“actions"列表中必须包含"ohos.want.action.viewData”。

“uris"列表中必须包含"scheme"为"https"且"host"为域名地址的元素,可选属性包含"path”、“pathStartWith"和"pathRegex”,具体请参见“uri匹配规则”。

"domainVerify"设置为true,表示开启域名校验开关。

例如,声明应用关联的域名是www.example.com,则需进行如下配置。


https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/app-linking-startup-V5#section1101111611317

关于ArkWeb 通过App Linking 拉起目标APP(目标App冷启动),在 onCreate 回调里 无法获取到App Linking 链接

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


在HarmonyOS鸿蒙系统中,Next App外部浏览器唤起通常可以通过URI(统一资源标识符)的方式来实现。具体步骤如下:

  1. 构建URI:首先,需要构建一个包含目标网页地址的URI。这个URI应该符合标准的URL格式,包括协议(如http或https)、域名以及可选的路径和查询参数。

  2. 使用Intent:在鸿蒙应用中,可以通过Intent机制来唤起外部浏览器。创建一个Intent对象,并设置其Action为Intent.ACTION_VIEW,同时设置Data为之前构建的URI。

  3. 启动Activity:调用startActivity方法,并传入之前创建的Intent对象。系统会根据Intent中的信息,找到能够处理该Action和URI的应用(通常是浏览器),并启动它。

  4. 处理权限和异常:确保应用具有唤起外部应用的权限,并妥善处理可能出现的异常,如Intent找不到匹配的应用等。

示例代码(简化版,未包含完整错误处理):

Uri uri = Uri.parse("https://www.example.com");
Intent intent = new Intent(Intent.ACTION_VIEW, uri);
startActivity(intent);

注意:以上代码仅为示例,并非鸿蒙系统实际使用的代码,鸿蒙系统使用其特定的API和框架来实现类似功能。如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html

回到顶部