HarmonyOS 鸿蒙Next h5想要唤起app如何处理

HarmonyOS 鸿蒙Next h5想要唤起app如何处理

想要通过分享链接,打开后跳转h5进行唤醒和跳转至app.没找到相关的文档和demo

2 回复

试试:

import Want from '@ohos.app.ability.Want';
import common from '@ohos.app.ability.common';
import web_webview from '@ohos.web.webview';
import { hilog } from '@kit.PerformanceAnalysisKit';
@Entry
@Component
struct Index {
  controller: TextInputController = new TextInputController();
  webviewController: web_webview.WebviewController = new web_webview.WebviewController();
  aboutToAppear() {
    // 配置Web开启调试模式
    web_webview.WebviewController.setWebDebuggingAccess(true);
  }
  build() {
    Row() {
      Column() {
        //h5跳转
        Web({ src: $rawfile('index.html'), controller: this.webviewController }).onControllerAttached(() => {
          // 传递runJavaScript侧代码方法。
          this.webviewController.registerJavaScriptProxy(new JSImpl(), 'android', ['shareAction'])
          this.webviewController.refresh();
        }).onPageEnd(() => {
          hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onBackground');
        })
          .onConsole((event) => {
            if (event) {
              console.log('getMessage:' + event.message.getMessage())
            }
            return false
          })
      }.width('100%')
    }.height('100%')
  }
}
class JSImpl {
  /**
   * JS调用端侧方法
   * 分享
   */
  shareAction() {
    console.log('跳转应用商店')
    const appId: string = 'C1252704550054290944';
    hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onBackground');
    const want: Want = { uri: `store://appgallery.huawei.com/app/detail?id=${appId}` };
    const context = getContext(this) as common.UIAbilityContext;
    context.startAbility(want)
      .then(() => { //拉起成功
      }).catch(() => { // 拉起失败
    });
  }
}
<!-- index.html -->
<!DOCTYPE html>
<html>
<body>
<button type="button" onclick="callArkTS()">h5点击跳转到鸿蒙版应用市场详情页面</button>
<script>
    // Click Me!触发前端页面callArkTS()函数执行JavaScript传递的代码。
    function callArkTS() {
    const shareAndroid = window.android.shareAction();
    shareAndroid();
    }
</script>
</body>
</html>

更多关于HarmonyOS 鸿蒙Next h5想要唤起app如何处理的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS(鸿蒙)系统中,通过H5页面唤起App通常依赖于特定的URL Scheme或Intent机制。以下是一些基本步骤和注意事项,用于实现H5页面到鸿蒙App的唤起:

  1. 定义URL Scheme:首先,在你的鸿蒙App中定义一个独特的URL Scheme。这通常在App的配置文件中设置,用于标识你的App并能被外部链接识别。

  2. H5页面编写:在H5页面中,使用<a>标签或JavaScript的window.location方法,将定义的URL Scheme作为链接地址。当用户点击该链接时,系统将尝试打开与URL Scheme匹配的App。

  3. 处理Intent:鸿蒙App需要能够接收并处理来自H5页面的Intent。在App的代码中,监听并解析传入的Intent,根据需要进行相应的处理。

  4. 异常处理:考虑到用户可能未安装你的App,或URL Scheme有误,H5页面应提供备用方案,如引导用户下载App的链接或显示错误提示。

  5. 测试与验证:在不同设备和浏览器上测试H5页面到鸿蒙App的唤起功能,确保兼容性和稳定性。

如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html

回到顶部