HarmonyOS鸿蒙Next中在APP拉起系统自带的浏览器,并加载指定的H5页面

HarmonyOS鸿蒙Next中在APP拉起系统自带的浏览器,并加载指定的H5页面 在用户不同意隐私政策的时候,应用提供仅浏览模式,该模式为一个资讯列表页面,点击列表项需要打开资讯的H5页面。

根据Android这边的经验,浏览器内核可能会收集设备相关信息(例如手机的网络状态),所以在仅浏览模式下,不能在APP内使用WebView加载页面。

Android的处理方式是通过指定系统定义的action打开系统浏览器并加载指定页面,代码如下:

fun String.openWithSystemWebView(context: Context) = context.startActivity(Intent().apply {
  action = "android.intent.action.VIEW"
  data = Uri.parse(this@openWithSystemWebView)
})

更多关于HarmonyOS鸿蒙Next中在APP拉起系统自带的浏览器,并加载指定的H5页面的实战教程也可以访问 https://www.itying.com/category-93-b0.html

3 回复

可尝试通过UIAbilityContext.startAbility拉起浏览器应用,参考如下

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)

更多关于HarmonyOS鸿蒙Next中在APP拉起系统自带的浏览器,并加载指定的H5页面的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS(鸿蒙)Next中,你可以使用WantAbility来拉起系统自带的浏览器并加载指定的H5页面。以下是实现步骤:

  1. 创建Want对象Want是鸿蒙系统中用于描述操作意图的对象。你需要设置Wanturi属性为要加载的H5页面的URL,并指定actionohos.want.action.view,表示要查看内容。

  2. 启动Ability:使用startAbility方法来启动系统自带的浏览器。浏览器应用通常会注册ohos.want.action.viewAbility,因此系统会自动匹配并启动浏览器应用。

  3. 示例代码

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

let want = {
    action: 'ohos.want.action.view',
    uri: 'https://www.example.com' // 替换为你要加载的H5页面URL
};

featureAbility.startAbility(want)
    .then(() => {
        console.log('Browser launched successfully.');
    })
    .catch((error) => {
        console.error('Failed to launch browser:', error);
    });

这段代码会尝试拉起系统浏览器并加载指定的H5页面。如果浏览器应用存在且支持该操作,页面将会在浏览器中打开。

在HarmonyOS鸿蒙Next中,你可以使用Intent来拉起系统自带的浏览器并加载指定的H5页面。以下是一个示例代码:

Intent intent = new Intent();
intent.setAction(Intent.ACTION_VIEW);
intent.setData(Uri.parse("https://www.example.com"));
startAbility(intent);

这段代码创建了一个Intent,设置动作为ACTION_VIEW,并通过Uri指定要加载的H5页面URL,然后调用startAbility方法启动浏览器。

回到顶部