APP内部跳转Google Play

项目中需要跳转Google Play商店
原理十分简单,构建一个ACTION_VIEW标记的Intent,并给一个如下结构的 Uri 即可:
"market://details?id=" + getPackageName() //商店中使用包名来唯一标识区分应用
在 Android 平台上,正常情况下手机中的应用商店应该是 Google Play
但是由于各种你懂我也懂的原因,国内基本上无法使用 Google Play 服务。
好在广泛的第三方应用市场大多都实现了这个接口。

代码注释很详细:
//这里开始执行一个应用市场跳转逻辑,默认this为Context上下文对象
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setData(Uri.parse("market://details?id=" + getPackageName())); //跳转到应用市场,非Google Play市场一般情况也实现了这个接口
//存在手机里没安装应用市场的情况,跳转会包异常,做一个接收判断
if (intent.resolveActivity(getPackageManager()) != null) { //可以接收
startActivity(intent);
} else { //没有应用市场,我们通过浏览器跳转到Google Play
intent.setData(Uri.parse("https://play.google.com/store/apps/details?id=" + getPackageName()));
//这里存在一个极端情况就是有些用户浏览器也没有,再判断一次
if (intent.resolveActivity(getPackageManager()) != null) { //有浏览器
startActivity(intent);
}
}
需要注意的就是,如果界面跳转失败,会抛出异常,因此能否跳转需要进行判断。

根据以上,同理使用以下Uri进行替换:

Uri.parse("market://search?q=pub:Author Name"); //跳转到商店搜索界面,并搜索开发者姓名
Uri.parse("market://search?q=Keyword"); //跳转到商店搜索界面,并搜索关键词

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • ¥开启¥ 【iAPP实现进入界面执行逐一显】 〖2017-08-25 15:22:14〗 《//首先开一个线程,因...
    小菜c阅读 6,497评论 0 17
  • 1.跳转拨号页面 Intent intent=new Intent(); intent.setAction(Int...
    周晓风阅读 796评论 0 0
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 172,861评论 25 708
  • 你说的话我都听,你让我不爱你,我做不到! 你说的话我都听 那一天,刘轩在实验室焊接一块电路板,手机短信铃音突然一响...
    林夕无梦阅读 797评论 0 5
  • 古人讲:做事要三思,思危,思退,思变,理财亦然。 金融的核心是风险定价,收益都是伴随着风险的,低...
    简趣子阅读 177评论 0 0