文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

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

2022-06-06 05:08

关注

前言

众所周知在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://www.samsungapps.com/appquery/appDetail.as?appId=" + packageName);
  Intent goToMarket = new Intent();
  goToMarket.setClassName("com.sec.android.app.samsungapps", "com.sec.android.app.samsungapps.Main");
  goToMarket.setData(uri);
  try {
    context.startActivity(goToMarket);
  } catch (ActivityNotFoundException e) {
    e.printStackTrace();
  }
}

不过,后来发现在乐视手机上面,乐视的应用市场也是不支持

goToMarket()
方法的,所以又专门调研了跳转乐视应用市场的方法,方法如下:


void goToLeTVStoreDetail(Context context, String packageName) {
    Intent intent = new Intent();
    intent.setClassName("com.letv.app.appstore", "com.letv.app.appstore.appmodule.details.DetailsActivity");
    intent.setAction("com.letv.app.appstore.appdetailactivity");
    intent.putExtra("packageName", packageName);
    context.startActivity(intent);
  }

总结

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

您可能感兴趣的文章:Android中应用界面主题Theme使用方法和页面定时跳转应用Android如何跳转到应用商店的APP详情页面android 跳转到应用通知设置界面的示例android判断手机是否安装地图应用实现跳转到该地图应用Android 应用中跳转到应用市场评分示例Android应用闪屏页延迟跳转的三种写法Android通过滑动实现Activity跳转(手势识别器应用)Android 8.0升级不跳转应用安装页面的解决方法Android实现外部唤起应用跳转指定页面的方法


阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-移动开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯