我希望名为“更多应用程序”的按钮访问我在 Play 商店中的应用程序列表。这是页面链接:
https://play.google.com/store/apps/developer?id=Jouni
??
我希望名为“更多应用程序”的按钮访问我在 Play 商店中的应用程序列表。这是页面链接:
https://play.google.com/store/apps/developer?id=Jouni
??
启动 Google Play 商店可与某些市场 URI 一起正常工作:
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setData(Uri.parse(<market_uri>));
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NO_ANIMATION);
startActivity(intent);
uris 可以在哪里
但是当您想在欢迎页面上启动它时它不起作用,即当您只想启动 Google Play 商店而不指定应用程序 ID 或执行查询时。
所以我想出了这个解决方案,它也可以处理任何应用程序无法处理“market://”uris 的情况。在这种情况下,使用 Web 浏览器作为备用。
这个解决方案不是最好的,但它可以完成工作。
public void launchPlayStore()
{
// look for intent able to process 'market://' uris
Intent market = new Intent(Intent.ACTION_VIEW, Uri.parse("market://search?q=dummy"));
PackageManager packageManager = getPackageManager();
ComponentName playStoreComponentName=null;
for(ResolveInfo resolveInfo : packageManager.queryIntentActivities(market, 0))
{
ActivityInfo activityInfo = resolveInfo.activityInfo;
String packageName = activityInfo.applicationInfo.packageName;
// lokking for "com.android.vending", "com.google.android.finsky.activities.MainActivity"
if (!packageName.contains("android"))// || !activityInfo.name.contains("android"))
continue;
// appname should be 'Play Store'
// String appName = resolveInfo.loadLabel(packageManager).toString();
playStoreComponentName = new ComponentName(packageName, activityInfo.name);
break;
}
if(playStoreComponentName!=null)
{
Intent intent = new Intent();
intent.setComponent(playStoreComponentName);
intent.setData(Uri.parse("market://"));
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NO_ANIMATION);
// launch Google Play Store app :-)
startActivity(intent);
}
else
{
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setData(Uri.parse("https://play.google.com/"));
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NO_ANIMATION);
// fallback -> web browser
startActivity(intent);
}
}
在您的按钮 OnClick 中执行此操作
String url = "https://play.google.com/store/apps/developer?id=Jouni";
Intent i = new Intent(Intent.ACTION_VIEW);
i.setData(Uri.parse(url));
startActivity(i);