如何跳转到应用市场
/**
* 根据应用包名,跳转到应用市场
*
* @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();
}
}
浅析:
(1)特别留意上面代码中的 “market://details?id=” 这个东东。这个东西,对所有的安卓应用分发市场,基本都适用,它是一个接入到市场的协议(注意:只针对手机端,在电脑端就不是这么回事啦!)
(2)后面的getPackageName() 可以获取你的应用的包名。
上面这俩东西组合起来,就可以跳转到几乎任何存在你的应用的市场上了。
所以说我们需要注意的地方就是PackageName,如果是跳转到本身直接getPackageName()即可,分享到其他应用就需要知道包名了,这就是坑的地方,下面回给予一定的解决方案。
防坑指南
- 防坑一:如何获取应用包名
- 方法1.手机安装了应用,启用该应用,查看后台进程,这里会有包名的显示。缺陷:有些App没有后台进行,无法查看
- 方法2.下载相关应用的Apk,使用ApkTool工具反编译Apk,在清单文件中,获取包名。
- 防坑二:常见应用的包名表格
应用名称 | 对应包名 |
---|---|
com.tencent.mobileqq | |
微信 | com.tencent.mm |
新浪 | com.sina.weibo |
支付宝 | com.eg.android.AlipayGphone |
com.facebook.katana | |
com.whatsapp | |
LINE | jp.naver.line.android |