Flutter 版本兼容的HarmonyOS鸿蒙Next包,如何实现应用商店跳转

Flutter 版本兼容的HarmonyOS鸿蒙Next包,如何实现应用商店跳转 用 flutter 做的项目,然后生成的鸿蒙 ohos 项目,在 flutter 代码中检测版本更新,然后需要跳转到鸿蒙的应用商店的软件详情页,就像 app 那种,有一个链接就能跳到 appstore 的详情页,请问我们应该如何实现呢

  1. 链接是什么
  2. 用什么方式跳转?
2 回复

可以尝试建立Flutter Channel通道相互交互,flutter调用鸿蒙的跳转方法实现

参考文档: https://gitee.com/openharmony-sig/flutter_samples/blob/master/ohos/docs/04_development/README.md#/openharmony-sig/flutter_samples/blob/master/ohos/docs/04_development/%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8PlatformView.md

鸿蒙的跳转和链接

第三方应用app也可以拉起纯鸿蒙应用市场,并跳转到某个指定应用的详情页面。

实现逻辑

基于context.startAbility方法拉起指定应用,并携带参数。其中type是固定配置值,uri是"store://appgallery.huawei.com/app/detail"拼接上id参数,才能拉起鸿蒙应用市场详情页面。

uri: ‘store://appgallery.huawei.com/app/detail?id=’+appId

详情请看demo:

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%')
  }
}

试一下在AGC网站上生成的APPID,并在前面加上一个大写的C

更多关于Flutter 版本兼容的HarmonyOS鸿蒙Next包,如何实现应用商店跳转的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html


在Flutter中实现应用商店跳转,可以使用url_launcher插件。对于HarmonyOS鸿蒙Next包,首先确保url_launcher插件已添加到pubspec.yaml中。然后,使用以下代码实现跳转:

import 'package:url_launcher/url_launcher.dart';

void _launchAppStore() async {
  const url = 'https://appstore.huawei.com/app/C10000001'; // 替换为你的应用商店链接
  if (await canLaunch(url)) {
    await launch(url);
  } else {
    throw '无法跳转到应用商店';
  }
}

确保在AndroidManifest.xml中配置了相应的权限,以便在HarmonyOS设备上正常跳转。

回到顶部