HarmonyOS 鸿蒙Next h5和原生交互

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

HarmonyOS 鸿蒙Next h5和原生交互

1、我们有一个h5的导流页,在系统浏览器上运行,如果用户没有安装app,会跳转到应用商店应用详情页,如果已经安装,会唤起APP,这在鸿蒙上如何实现?即,在浏览器中,打开应用商店或APP。

2、APP内部运行的h5页面,在不使用jsbridge的情况下,有没有类似url scheme的方式打开原生指定页面?

3 回复

第三方应用app可以拉起纯鸿蒙应用市场,并跳转到某个指定应用的详情页面。 实现逻辑: 基于context.startAbility方法拉起指定应用,并携带参数。其中type是固定配置值,uri是"store://appgallery.huawei.com/app/detail"拼接上id参数,才能拉起鸿蒙应用市场详情页面。 uri: ‘store://appgallery.huawei.com/app/detail?id=’+appId

import Want from '@ohos.app.ability.Want';
import common from '@ohos.app.ability.common';

@Entry
@Component
struct Index {
  @State appId: string = 'C1142586279411547392';
  controller: TextInputController = new TextInputController();
  build() {
    Row() {
      Column() {
        TextInput({ text: this.appId, placeholder: '请输入应用的appId', controller: this.controller })
          .width('90%')
          .onChange((value: string) => {
            this.appId = value
          })
        Button('点击跳转到鸿蒙版应用市场详情页面')
          .margin({top: 50})
          .onClick(()=>{
            const want: Want = {
              uri: `store://appgallery.huawei.com/app/detail?id=${this.appId}`
            };
            const context = getContext(this) as common.UIAbilityContext;
            context.startAbility(want).then(()=>{
              //拉起成功
            }).catch(()=>{
              // 拉起失败
            });
          })
      }
      .width('100%')
    }
    .height('100%')
  }
}

通过浏览器拉起应用,目前没有相关代码指导,因为是网页和第三方对接,浏览器本身只是个中转者 网页:跳转app的连接url,其中url符合want中的uri格式 浏览器是中转者,转换want,使用startAbility拉起 app:需要在module.json5中声明支持该want的拉起能力,目前需要应用自行处理业务

楼主第二个问题解决了吗

关于HarmonyOS 鸿蒙Next与H5及原生交互的问题,以下是我的解答:

HarmonyOS鸿蒙Next作为华为自主研发的操作系统新版本,支持基于Web技术的应用开发,包括使用HTML、CSS和JavaScript构建的H5应用程序。这意味着,H5应用可以在HarmonyOS设备上运行,为用户提供丰富的Web应用体验。

同时,HarmonyOS鸿蒙Next也注重原生交互体验。通过全新的分布式软总线技术,实现了设备间的快速通信和资源共享,使得应用可以在不同设备间无缝流转和分享。这种原生互联的能力,为用户带来了更加流畅和便捷的全场景体验。

在H5与原生交互方面,HarmonyOS提供了Web能力框架,允许H5应用程序调用设备的原生能力和API。这样,H5应用可以获得更多的系统级和硬件级功能,从而提升应用的性能和用户体验。

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

回到顶部