HarmonyOS 跳转华为应用商店详情页

点击自定义的升级弹框跳转华为应用商店。

Button(`立即更新`) 
  .type(ButtonType.Normal) 
  .fontColor($r('app.color.CSDNColor_FC5531')) 
  .fontSize(16) 
  .fontWeight(400) 
  .size({ width: '50%', height: '100%' }) 
  .backgroundColor(Color.White) 
  .onClick(() => { 
    this.controller?.close() 
    const want: Want = { 
      type: "text/text", 
      action: "ohos.want.action.appdetail", 
      uri: 'store://appgallery.huawei.com', 
      parameters: { 
        id: `5765880207854392395` // 要拉起的详情页面应用的appid。 
      } 
    } 
    let uiContext: common.UIAbilityContext = getContext(this) as common.UIAbilityContext; 
    uiContext.startAbility(want, (error: BusinessError) => { 
      console.log('error' + `${error.toString()}`) 
    }) 
 
  })

提示错误:Error: Can not match any component.@32e0d1f5

如果是写法有问题,请帮忙指正一下,如果是因为我们的应用还没上架,请帮我们提供一个可供测试的方法。

HarmonyOS
2024-11-18 11:48:58
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
aquaa

​客户端可以和服务器约定版本号,判断应用打开时候是否是最新版本,可以根据需求进行弹窗提醒用户升级或者按钮

解决措施:

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

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

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('点击跳转到HarmonyOS版应用市场详情页面') 
          .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%') 
  } 
}

​开发者你好还可以参考如下API 如果在App中检测到需要进行版本更新,如何引导至应用市场中的下载位置? 后续应用市场会提供API直接调用,支持update相关内容。 具体格式可以参考:

https://developer.huawei.com/consumer/cn/doc/development/AppGallery-connect-Guides/appgallerykit-app-update-0000001055118286

第三方应用app也可以拉起纯HarmonyOS 应用市场,并跳转到某个指定应用的详情页面,实现逻辑:

1.基于context.startAbility方法拉起指定应用,并携带参数。其中type,action,uri是固定配置值,不能更改,才能拉起HarmonyOS 应用市场:​

type: “text/text”, 
action: “ohos.want.action.appdetail”, 
uri: ‘store://appgallery.huawei.com’,

2.而parameters.id是跳转到详情页面的指定应用appid值,根据appid值不同,拉起HarmonyOS 应用市场不同应用的详情页面。

parameters:{ 
  id:${this.appId} // 要拉起的详情页面应用的appid。 
}

具体代码:

Button(‘点击跳转到HarmonyOS版应用市场详情页面’) 
.onClick(()=>{ 
  const want = { 
    type: “text/text”, 
    action: “ohos.want.action.appdetail”, 
    uri: ‘store://appgallery.huawei.com’, 
    parameters:{ 
    id:${this.appId} // 要拉起的详情页面应用的appid。 
} 
}; 
globalThis.context.startAbility(want).then(res=>{ 
  //拉起成功 
}).catch(err=>{ 
  // 拉起失败 
}); 
}) 
}
分享
微博
QQ
微信
回复
2024-11-18 16:50:20
相关问题
如何跳转设置—应用详情页
1904浏览 • 1回复 待解决
如何启动应用的系统设置详情页
1959浏览 • 1回复 待解决
鸿蒙系统-如何跳转应用信息详情页
9901浏览 • 2回复 待解决
如何跳转到设置中的应用详情页
2197浏览 • 1回复 待解决
CustomDialog如何实现半模态详情页效果
1754浏览 • 1回复 待解决
HarmonyOS 跳转应用商店下载更新
273浏览 • 1回复 待解决
ets怎么跳转应用商店
3588浏览 • 1回复 待解决
商品详情页面的常规布局方式
397浏览 • 1回复 待解决
求鸿蒙应用跳转应用商店的方式?
3943浏览 • 1回复 待解决
如何跳转商店应用下载的位置?
287浏览 • 1回复 待解决