我有一个有时会链接到 imdb 的应用程序。http://m.imdb.com/find
如果它可用,我可以这样做imdb:///find
。我的麻烦是我找不到imdb://
在为时已晚之前检查是否可用的方法。
因为用户点击了链接,所以我无法捕捉到android.content.ActivityNotFoundException
异常。
我错过了一些明显的东西吗?
解决方案:
根据 inazaruk 的建议,我现在使用以下代码:
public static boolean isUriAvailable(Context context, String uri) {
Intent test = new Intent(Intent.ACTION_VIEW, Uri.parse(uri));
return context.getPackageManager().resolveActivity(test, 0) != null;
}
必须使用您所请求内容的直接 uri 调用该方法,例如,imdb:///find
而不仅仅是imdb://
.