Android应用自动跳转到应用市场详情页面的方法

时间:2021-05-19

前言

众所周知在Android应用开发过程中,可能会有需求,比如:推广时跳转到应用市场下载应用,跳转到应用市场给自己的应用打分,跳转到应用市场更新自己的应用。

那如何跳转到应用市场呢?

可能跳转的方法大家都是知道的,方法如下:

public static void goToMarket(Context context, String packageName) { Uri uri = Uri.parse("market://details?id=" + packageName); Intent goToMarket = new Intent(Intent.ACTION_VIEW, uri); try { context.startActivity(goToMarket); } catch (ActivityNotFoundException e) { e.printStackTrace(); }}

此方法支持应用宝、360手机助手、豌豆荚、小米商店等主流的应用市场,当手机上面装有多个应用市场时,则会弹出菜单让用户选择调转到哪个市场。那么,问题来了,如果这么简单就结束了,怎么还会有这篇文章呢?

在红米Note2上测试时发现,调用此方法默认是直接调转到小米市场,那如果在小米手机上,想要跳转到应用宝或者其他的应用市场怎么办呢,方法自然是有的,如下:

public static void goToMarket(Context context, String packageName) { Uri uri = Uri.parse("market://details?id=" + packageName); Intent goToMarket = new Intent(Intent.ACTION_VIEW, uri); try { goToMarket.setClassName("com.tencent.android.qqdownloader", "com.tencent.pangu.link.LinkProxyActivity"); context.startActivity(goToMarket); } catch (ActivityNotFoundException e) { e.printStackTrace(); }}

看起来好像和第一个方法没什么区别,是的,只需要给多调用goToMarket.setClassName()方法,设置指定的应用去处理这个Intent事件,这样就可以在小米手机上跳转到应用宝的应用详情页面,而且,上一个方法如果在手机上装有多个应用市场时,会弹出菜单让用户选择,如果已经确定好要跳转到哪个应用市场时,也可使用此方法,直接跳转,省去中间用户选择的环节。

但是上面方法的思路似乎并不能对所有的应用市场有效,哪天产品经理提出要跳转到三星的应用市场,毕竟三星手机在国内的占有率还是排前几位的,再使用上面的方法,发现懵逼了,三星市场竟然不支持这种方式,难怪三星手机在国内市场节节败退。

不过再笔者的努力下终于找到了如下方法:

public static void goToSamsungappsMarket(Context context, String packageName) { Uri uri = Uri.parse("http://.letv.app.appstore.appdetailactivity"); intent.putExtra("packageName", packageName); context.startActivity(intent); }

总结

好了,以上就是这篇文章的全部内容了以上的方法希望能帮助到有需要的人。如果有疑问大家可以留言交流。

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章