有些Android设备没有安装Android市场,例如韩国等地区。
是否可以在运行时检测Android市场的存在?
我知道我可以先尝试打开市场URI来查看是否抛出任何异常。但我不认为这是一个明智的方法。
有些Android设备没有安装Android市场,例如韩国等地区。
是否可以在运行时检测Android市场的存在?
我知道我可以先尝试打开市场URI来查看是否抛出任何异常。但我不认为这是一个明智的方法。
我知道可以首先尝试打开一个市场URI来查看是否会抛出异常。
创建Market URI的ACTION_VIEW Intent,然后使用PackageManager和queryIntentActivities()来查看是否有任何返回。如果返回为空列表,则说明设备上没有任何处理Market URI值的内容。
一种完整的解决方案,还可以自动读取包名称...
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);