Android基础-跳转到应用市场

作者: 积木Blocks | 来源:发表于2016-07-28 12:36 被阅读2535次

    前言

    ~
    最近项目中用到了Android自带的分享来实现App的分享功能,我们知道原生的分享存在一个很大的问题,即如果手机上没有改应用则无法分享。无法分享怎么办呢?当然是告诉用户去哪里下载需要分享的App了(我不会告诉你,我之前只用了一个Toast来提示用户没有该应用的,简直low爆了)。


    主要内容:

    1.为什么要跳转到应用市场
    2.如何跳转到应用市场
    3.防坑指南


    1.为什么要跳转到应用市场

    • 需求一:使用Android原生分享时,用户手机未安装该App,跳转到应用市场,提示用户下载.
    • 需求二:跳转到自身App的应用市场下载页面,提示用户评论该app,收集用户评论信息,以便改良自身App。

    2.如何跳转到应用市场

    /** 
      * 根据应用包名,跳转到应用市场 
      * 
      * @param activity    承载跳转的Activity 
      * @param packageName 所需下载(评论)的应用包名 
      */
    public static void shareAppShop(Activity activity, String packageName) {    
    try {        
       Uri uri = Uri.parse("market://details?id="+ packageName);        
       Intent intent = new Intent(Intent.ACTION_VIEW, uri);        
       intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);        
       activity.startActivity(intent);    
    } catch (Exception e) {        
       Toast.makeText(activity, "您没有安装应用市场", Toast.LENGTH_SHORT).show();    
    }
    }
    

    浅析:
    《Android应用内评价/跳转到应用市场功能》一文中这样解释到:

    (1)特别留意上面代码中的 “market://details?id=” 这个东东。这个东西,对所有的安卓应用分发市场,基本都适用,它是一个接入到市场的协议(注意:只针对手机端,在电脑端就不是这么回事啦!)
    (2)后面的getPackageName() 可以获取你的应用的包名。
    上面这俩东西组合起来,就可以跳转到几乎任何存在你的应用的市场上了。
    

    所以说我们需要注意的地方就是PackageName,如果是跳转到本身直接getPackageName()即可,分享到其他应用就需要知道包名了,这就是坑的地方,下面回给予一定的解决方案。


    3.防坑指南

    • 防坑一:如何获取应用包名
      • 方法1.手机安装了应用,启用该应用,查看后台进程,这里会有包名的显示。缺陷:有些App没有后台进行,无法查看
      • 方法2.下载相关应用的Apk,使用ApkTool工具反编译Apk,在清单文件中,获取包名。
    • 防坑二:常见应用的包名表格
    应用名称 对应包名
    QQ com.tencent.mobileqq
    微信 com.tencent.mm
    新浪 com.sina.weibo
    支付宝 com.eg.android.AlipayGphone
    facebook com.facebook.katana
    WhatsApp com.whatsapp
    LINE jp.naver.line.android

    参考博文:

    Android应用内评价/跳转到应用市场功能

    相关文章

      网友评论

      • addc2c87899f:6.0的系统会报错怎么玩
        addc2c87899f:@自导自演的机器人 多试了几个机型,不是6.0的问题。与很多因素有关。
        积木Blocks:@XMLUbantu 有没有可能是权限的问题
      • MikeJayson:我想只跳转到应用宝,不要其它应用市场,怎么搞?
        hackware:@MikeJayson 设置一下包名即可
        积木Blocks:@MikeJayson 我没有,筛选过应用市场。应该也可以根据包名选择
      • hackware:我就搞不明白了,既然用户都没装这个应用,就干脆隐藏这个应用呗。让用户去下载应用,再安装,再登陆,再回到你的应用来接着分享。这个过程中的转化率几乎为零。没啥意义啊!
        积木Blocks:@hackware 没办法,需求是老大啊,要求做这样。

      本文标题:Android基础-跳转到应用市场

      本文链接:https://www.haomeiwen.com/subject/kzkajttx.html