如何直接打开谷歌Play商店的应用程序没有select器的意图

我想直接从我的应用程序打开Goog​​le Play商店。

这是我现在正在做的事情。

try { // Check whether Google Play store is installed or not: this.getPackageManager().getPackageInfo( "com.android.vending", 0); url = "market://details?id=" + packageName; } catch (final Exception e) { url = "https://play.google.com/store/apps/details?id=" + packageName; } // Open the app page in Google Play store: final Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url)); intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET); startActivity(intent); 

但问题是,它显示应用程序select框中的其他应用程序。

我不想要这个如何避免select框,并直接打开商店?

更新 :

通过使用这个解决了这个问题:

 Intent intent = new Intent(); intent.setAction(Intent.ACTION_VIEW); intent.setData(Uri.parse("market://search?q=foo")); PackageManager pm = getActivity().getPackageManager(); List<ResolveInfo> list = pm.queryIntentActivities(intent, 0); for (int a = 0; a < list.size(); a++) { ResolveInfo info = list.get(a); ActivityInfo activity = info.activityInfo; if (activity.name.contains("com.google.android")) { ComponentName name = new ComponentName( activity.applicationInfo.packageName, activity.name); Intent i = new Intent(Intent.ACTION_MAIN, Uri.parse("http://play.google.com/store/apps/details?id=" + packageName)); i.addCategory(Intent.CATEGORY_LAUNCHER); i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED); i.setComponent(name); startActivity(i); getActivity().finish(); } } } 

但现在的问题是,它打开Play商店的主页面,但我希望它redirect到我发送包名称的特定应用程序。 谁能帮我这个。

帮助总是感激。

Solutions Collecting From Web of "如何直接打开谷歌Play商店的应用程序没有select器的意图"

使用这个代码…它为我工作

 final String appPackageName = getPackageName(); // getPackageName() from Context or Activity object try { startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("market://details?id=" + appPackageName))); } catch (android.content.ActivityNotFoundException anfe) { startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("https://play.google.com/store/apps/details?id=" + appPackageName))); } 

如果我find了你,你正在寻找这个。

 final String appPackageName = getPackageName(); // getPackageName() from Context or Activity object try { startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("market://details?id=" + appPackageName))); } catch (android.content.ActivityNotFoundException anfe) { startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("https://play.google.com/store/apps/details?id=" + appPackageName))); } 

尝试这个