android经验androidAndroid开发经验谈

Android基础-跳转到应用市场

2016-07-28  本文已影响2535人  积木Blocks

前言

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


主要内容:

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


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


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.防坑指南

应用名称 对应包名
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应用内评价/跳转到应用市场功能

上一篇下一篇

猜你喜欢

热点阅读