当前位置:   article > 正文

(原创)安卓跳转应用市场APP详情页的方式_android 跳转华为应用市场

android 跳转华为应用市场

前言

最近在做一个需求,需要从自己APP进入到系统的应用市场
方便用户在应用市场给自己的APP打分
于是查阅了一些资料,下面说一下实现方法

实现方案

一般来说,最简单的方案就是这样:

 val uri = Uri.parse("market://details?id=" + 你自己应用的包名)
 val intent=Intent(Intent.ACTION_VIEW, uri)
 if (intent.resolveActivity(this) != null) {
      startActivity(intent)
 }else{
      showToast(mActivity, "您的手机暂无应用市场,请下载后重试,感谢您的支持~")
 }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

其中resolveActivity用来判断是否可以正确拉起应用市场,不能的话就提示用户
经过试验,发现的确是可行的,但是也发现了一些问题:
1:如果手机安装了多个应用市场,会弹框提示你选择具体的应用市场
2:无法指定具体的应用市场页面,比如我想直接进打分页面,这方面是系统处理,不可控制
针对第二个问题,暂时没想到好的解决办法
第一个的话,可以通过新增方法来指定对应的应用市场

指定应用市场

我们可以先利用Build.BRAND这个属性获取我们手机的品牌
然后指定对应品牌的应用市场
比如如果你获取的是华为的品牌
就可以指定华为的应用市场
获取品牌的方法可以这样处理:

  private fun getBrandType(): String {
    val brandType = when (Build.BRAND.uppercase(Locale.getDefault())) {
      "HUAWEI" -> "HUAWEI"
      "XIAOMI" -> "XIAOMI"
      "REDMI" -> "REDMI"
      "HONOR" -> "HONOR"
      "OPPO" -> "OPPO"
      "VIVO" -> "VIVO"
      else -> {
        "OTHER"
      }
    }
    return brandType
  }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

指定华为应用市场,只需要对intent多加这一行:

intent.setPackage("com.huawei.appmarket")
  • 1

这样就可以直接跳到华为应用市场了
最后,附上不同品牌机型的应用市场的包名:

目前国内主流的应用市场有:

腾讯应用宝:com.tencent.android.qqdownloader 

360手机助手:com.qihoo.appstore 

百度手机助手:com.baidu.appsearch 

小米应用商店:com.xiaomi.market 

华为应用商店:com.huawei.appmarket 

QQ手机管家:com.tencent.qqpimsecure 

OPPO应用商店:com.oppo.market 

中兴应用商店:zte.com.market 

联想应用商店:com.lenovo.leos.appstore 

可以根据公司投放的渠道使用相应应用市场的包名~
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Gausst松鼠会/article/detail/378261
推荐阅读
相关标签
  

闽ICP备14008679号