2015-04-07 3 views
1

Мне любопытно, что происходит, когда вы создаете выбор намерения, и у пользователя нет приложений, которые могут выполнять то, что вы указываете. Например, если я попытаюсь открыть профиль facebook с помощью Intent, и у пользователя нет приложения facebook или любого браузера на телефоне.Android facebook Action intents

Как вы можете проверить, есть ли у пользователя приложение для открытия вашего намерения, прежде чем они его действительно откроют?

ответ

0

Вы можете сделать это с помощью PackageManager

final PackageManager packageManager = this.getPackageManager(); 
    final Intent intent = new Intent(action); 
    List<ResolveInfo> list = 
      packageManager.queryIntentActivities(intent, 
        PackageManager.MATCH_DEFAULT_ONLY); 
    if(list.size() > 0) 
    // there is some app that will handle this intent 
    else 
    // there is no app to handle this intent 

queryIntentActivities взгляд на мероприятия, которые зарегистрировались для намерений вы запрашиваете и вернуть ряд мероприятий, которые могут справиться с этим намерением. Вы можете найти подробное обсуждение по этой ссылке http://android-developers.blogspot.ca/2009/01/can-i-use-this-intent.html

Смежные вопросы