如何在设备上检测Android Market的存在?

时间:2010-07-27 06:22:54

标签: android google-play

某些Android设备没有Android Market,如韩国等。

是否可以在运行时检测Android Market的存在?

我知道我可以先尝试打开市场,看看是否有任何例外。但我不认为这是一种明智的做法。

2 个答案:

答案 0 :(得分:4)

  

我知道我可以尝试打开市场   首先要看是否有任何例外   抛出。

为市场ACTION_VIEW创建Intent Uri,然后使用PackageManagerqueryIntentActivities()查看您是否收到任何回复。如果返回空列表,则表示设备上没有任何内容处理市场Uri值。

答案 1 :(得分:1)

一个完整的解决方案,它也可以自己读取包名...

Context context = this;
final PackageManager packageManager = context.getPackageManager();

String packagename = this.getPackageName();

String url = "market://details?id=" + packagename;

Intent i2 = new Intent(Intent.ACTION_VIEW);
i2.setData(Uri.parse(url));

List<ResolveInfo> resolveInfo = packageManager.queryIntentActivities(i2,PackageManager.MATCH_DEFAULT_ONLY);

if (resolveInfo.size() > 0) startActivity(i2);