Android 应用中跳转到应用市场评分示例

本篇文章主要介绍了Android 应用中跳转到应用市场评分示例,非常具有实用价值,需要的朋友可以参考下。

在开发Android App过程中,经常会遇见这样的功能。从当前的app跳转到一个应用商店并且跳转到自己app的详情页面,让用户给自己的App进行评分、评价,从而提高自己App的排名。下面介绍三种方法实现该功能。

方法一:通过系统隐式意图方式去调用应用市场app详情页

 try{ Uri uri = Uri.parse("market://details?id="+getPackageName()); Intent intent = new Intent(Intent.ACTION_VIEW,uri); intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); startActivity(intent); }catch(Exception e){ Toast.makeText(MainActivity.this, "您的手机没有安装Android应用市场", Toast.LENGTH_SHORT).show(); e.printStackTrace(); }

方法二:通过应用市场的搜索方法来调用app详情页

 try { Intent i = new Intent(Intent.ACTION_VIEW); i.setData(Uri.parse("market://search?q="+getPackagename())); startActivity(i); } catch (Exception e) { Toast.makeText(SettingActivity.this, "您的手机没有安装Android应用市场", Toast.LENGTH_SHORT).show(); e.printStackTrace(); }

这两个方法很简单易用,几行代码就可以实现调用应用市场,唯一的缺点就是如果手机安装多个应用市场,他所呈现的弹窗是系统自带风格,有时候我们需要自己定制自己的统一弹窗风格,这时候就需要通过其他方案来实现。

方法三:根据手机安装的应用市场,来定制自己所需要的风格

首先先获取手机上已经安装的应用市场

 /** * 获取已安装应用商店的包名列表 * 获取有在AndroidManifest 里面注册的app * @param context * @return */ public ArrayList getInstallAppMarkets(Context context) { //默认的应用市场列表,有些应用市场没有设置APP_MARKET通过隐式搜索不到 ArrayList pkgList = new ArrayList<>(); pkgList.add("com.xiaomi.market"); pkgList.add("com.qihoo.appstore"); pkgList.add("com.wandoujia.phoenix2"); pkgList.add("com.tencent.android.qqdownloader"); pkgList.add("com.taptap"); ArrayList pkgs = new ArrayList(); if (context == null) return pkgs; Intent intent = new Intent(); intent.setAction("android.intent.action.MAIN"); intent.addCategory("android.intent.category.APP_MARKET"); PackageManager pm = context.getPackageManager(); List infos = pm.queryIntentActivities(intent, 0); if (infos == null || infos.size() == 0) return pkgs; int size = infos.size(); for (int i = 0; i 

接下来获取手机上已经安装的应用,过滤剩下应用市场包名和相关信息,这些信息可以在后面做一个弹窗之类的功能时候用到,appInfo里面包括了包名、应用名、icon、版本号等信息。

 /** * 过滤出已经安装的包名集合 * @param context * @param pkgs 待过滤包名集合 * @return 已安装的包名集合 */ public ArrayList getFilterInstallMarkets(Context context,ArrayList pkgs) { appInfos.clear(); ArrayList appList = new ArrayList(); if (context == null || pkgs == null || pkgs.size() == 0) return appList; PackageManager pm = context.getPackageManager(); List installedPkgs = pm.getInstalledPackages(0); int li = installedPkgs.size(); int lj = pkgs.size(); for (int j = 0; j 

最后就是跳转到应用市场APP详情页的功能了,关于弹窗的逻辑这里就不详细描述了,想要实现的朋友可以根据自己的喜好去实现相应的功能,这里就提供一个点击事件功能

 /** * 跳转到应用市场app详情界面 * @param appPkg App的包名 * @param marketPkg 应用市场包名 */ public void launchAppDetail(String appPkg, String marketPkg) { try { if (TextUtils.isEmpty(appPkg)) return; Uri uri = Uri.parse("market://details?id=" + appPkg); Intent intent = new Intent(Intent.ACTION_VIEW, uri); if (!TextUtils.isEmpty(marketPkg)) intent.setPackage(marketPkg); intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); startActivity(intent); } catch (Exception e) { e.printStackTrace(); } } 

以上就是在app里面跳转到应用市场去评分评价的几个方法了,希望对大家的学习有所帮助,也希望大家多多支持html中文网。

以上就是Android 应用中跳转到应用市场评分示例的详细内容,更多请关注0133技术站其它相关文章!

赞(0) 打赏
未经允许不得转载:0133技术站首页 » 移动