Проверить, доступен ли интент uri

У меня есть приложение, которое иногда ссылается на imdb. Я могу сделать это с помощью http://m.imdb.com/find или, если он доступен, imdb: /// find . Моя проблема в том, что я не могу найти способ проверить, доступен ли imdb: // , пока не стало слишком поздно.

Поскольку ссылка была нажата пользователем, я не могу поймать исключение android.content.ActivityNotFoundException .

Я упустил что-то очевидное?


Решение:

По предложению Иназарука теперь я использую следующий код:

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: // .

13
задан Thomas Ahle 14 August 2011 в 07:34
поделиться