HarmonyOS 鸿蒙Next中h5页面如何打开应用市场

HarmonyOS 鸿蒙Next中h5页面如何打开应用市场 我们项目中间 有一个h5的投放链接,例如投放在百度搜素里面,有几个问题想咨询一下:

  1. 这个h5页面如何 知道自己是在鸿蒙系统中 更具userAgent么?

  2. 如何确认在鸿蒙系统中 ,如何直接打开应用市场,定位到我们好分期的app页面。在app内知道通过store://appgallery.huawei.com/app/detail?id=xxx 可以跳转,那么在h5如何跳转呢

3 回复

问题1:h5页面判断为鸿蒙环境

可以使用H5获取UserAgent,UserAgent具体字段信息可参考以下文档说明:

https://developer.huawei.com/consumer/cn/doc/harmonyos-faqs-V5/faqs-arkweb-30-V5

问题2: h5页面打开应用市场

参考demo:

import web_webview from '@ohos.web.webview';

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

class NaviAppStore {

  constructor() {
  }

  jumpAgcDetailPage() {
    const want: Want = {
      uri: `store://appgallery.huawei.com/app/detail?id=C5765880207853409097` //跳转拉起应用市场 农行APP的下载页面 //
      // uri: `store://appgallery.huawei.com/` //跳转拉起应用市场APP首页
    }
    const context = getContext(this) as common.UIAbilityContext;
    context.startAbility(want).then(() => {
      console.log('jumpAgcDetailPage 拉起成功 农行APP的下载页面');
    }).catch(() => {
      console.log('jumpAgcDetailPage 拉起失败');
    })
  }
}

@Entry
@Component
struct WebPage {
  controller: web_webview.WebviewController = new web_webview.WebviewController()
  @State naviApp: NaviAppStore = new NaviAppStore()

  build() {
    Row() {
      Column() {
        Web({ src: $rawfile("go_to_agc_unipay.html"), controller: this.controller })
          .javaScriptProxy({
            object: this.naviApp,
            name: "naviApp",
            methodList: ["jumpAgcDetailPage"],
            controller: this.controller
          })
      }.width('100%')
    }.height('100%')
  }
}

//go_to_agc_unipay.html
<!-- index.html -->
<!DOCTYPE html>
<html>
<body>
<button type="button" onclick="callArkTS()">Click Me!</button>
<p id="demo"></p>
<script>
  function callArkTS() { 
    let str = naviApp.jumpAgcDetailPage(); 
  } 
</script>
</body>
</html>

更多关于HarmonyOS 鸿蒙Next中h5页面如何打开应用市场的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS鸿蒙Next中,H5页面可以通过调用system.appmarket.open API来打开应用市场。具体步骤如下:

  1. 在H5页面中引入@system.appmarket模块。
  2. 使用system.appmarket.open方法,传入需要打开的应用市场的包名或URL。
  3. 调用该方法后,系统会自动跳转到应用市场页面。

示例代码如下:

import appmarket from '@system.appmarket';

appmarket.open({
  packageName: 'com.huawei.appmarket', // 应用市场的包名
  success: function() {
    console.log('打开应用市场成功');
  },
  fail: function(err) {
    console.log('打开应用市场失败', err);
  }
});

packageName参数为应用市场的包名,com.huawei.appmarket是华为应用市场的包名。调用该方法后,系统会尝试打开指定的应用市场。如果成功打开,则执行success回调;如果失败,则执行fail回调并返回错误信息。

请注意,该方法需要在设备上安装并支持华为应用市场的情况下才能正常工作。

在HarmonyOS鸿蒙Next中,H5页面可以通过调用window.hwappmarket.open API打开应用市场。具体代码如下:

window.hwappmarket.open({
    packageName: 'com.huawei.appmarket', // 指定应用市场的包名
    success: function() {
        console.log('应用市场打开成功');
    },
    fail: function(err) {
        console.error('应用市场打开失败:', err);
    }
});

确保设备已安装华为应用市场,且H5页面在鸿蒙系统的WebView环境中运行。

回到顶部