Определение, существует ли Действие на текущем устройстве?

Существует ли способ проверить и видеть, существует ли Действие на Вашем устройстве? Если у меня есть видеосвязь YouTube, я хочу указать, что она открывается в YouTube PlayerActivity. Однако я не хочу отказывать, если по некоторым причинам у них нет его.

Существует ли способ проверить и видеть, существует ли действие? Я не думаю, что могу поймать исключение на этапе выполнения, так как startActivity () не бросает его.

27
задан stormin986 20 May 2010 в 23:51
поделиться

2 ответа

Не думаю, что смогу уловить время выполнения исключение

На самом деле это работает:

try {
    startActivity(new Intent(..));
} catch (ActivityNotFoundException e) {
    Toast.makeText(this, "Not installed.", LENGTH_SHORT).show();
}
4
ответ дан 28 November 2019 в 04:04
поделиться

Вы можете создать объект Intent с необходимой информацией о компоненте, а затем проверить, вызывается ли намерение или нет. Я наткнулся на этот фрагмент здесь, на SO , нет ссылки на текущую беседу.

private boolean isCallable(Intent intent) {
        List<ResolveInfo> list = getPackageManager().queryIntentActivities(intent, 
            PackageManager.MATCH_DEFAULT_ONLY);
        return list.size() > 0;
}
77
ответ дан 28 November 2019 в 04:04
поделиться
Другие вопросы по тегам:

Похожие вопросы: