HarmonyOS 如何像其他平台一样打开应用市场对应应用的下载页面?

以下代码是用于从一个APP拉起应用市场APP并打开相对应产品的下载页面,ArkKTS如何实现?

public void downloadApp(){  
  try{  
    Uri uri = Uri.parse("market://details?id=" + mWXSDKInstance.getContext().getPackageName());  
    Intent intent = new Intent(Intent.ACTION_VIEW,uri);  
    intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);  
    getContext().startActivity(intent);  
  }catch(Exception e){  
    e.printStackTrace();  
  }  
}
HarmonyOS
2024-10-29 11:13:42
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
superinsect

​可以基于context.startAbility方法拉起指定应用,并携带参数。

其中type是固定配置值,uri是"store://appgallery.huawei.com/app/detail"拼接上id参数,才能拉起HarmonyOS应用市场详情页面。

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('点击跳转到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%')  
  }  
}
分享
微博
QQ
微信
回复
2024-10-29 17:28:17
相关问题
如何跳转到应用市场app下载页面
7545浏览 • 1回复 待解决
JS swiper 怎么list一样动态添加item?
6328浏览 • 1回复 待解决
怎么跳转打开系统应用市场app
2230浏览 • 1回复 待解决
HarmonyOS 如何拉起应用市场
234浏览 • 1回复 待解决
HarmonyOS应用升级跳转应用市场推荐
406浏览 • 1回复 待解决
HarmonyOS 如何打开应用
210浏览 • 2回复 待解决