And*_*oid 12 android google-play
我想直接从我的应用中打开Google 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);
Run Code Online (Sandbox Code Playgroud)
但问题是它在应用程序选择框中显示了其他应用程序.
我不想要这个如何避免Chooser盒并直接打开Play商店?
更新 :
通过使用此问题解决了此问题:
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();
}
}
}
Run Code Online (Sandbox Code Playgroud)
但现在的问题是它打开了Play商店的主页面,但是我想让它重定向到我发送的包名称的特定应用程序.谁能帮我这个.
总是感谢帮助.
小智 32
使用此代码......它适用于我
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)));
}
Run Code Online (Sandbox Code Playgroud)
如果我正确地找到了您,那么您正在寻找。
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)));
}
Run Code Online (Sandbox Code Playgroud)
尝试这个
| 归档时间: |
|
| 查看次数: |
35220 次 |
| 最近记录: |