一些安卓设备没有安卓市场,比如韩国等。
是否可以在运行时检测到 Android Market 的存在?
我知道我可以尝试先打开一个市场 uri,看看是否有任何异常抛出。但我不认为这是一个明智的做法。
一些安卓设备没有安卓市场,比如韩国等。
是否可以在运行时检测到 Android Market 的存在?
我知道我可以尝试先打开一个市场 uri,看看是否有任何异常抛出。但我不认为这是一个明智的做法。
我知道我可以尝试先打开一个市场 uri,看看是否有任何异常抛出。
ACTION_VIEW
Intent
为 Market创建Uri
,然后使用PackageManager
和queryIntentActivities()
看看你是否得到任何回报。如果返回一个空列表,您就知道设备上没有任何东西处理市场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);