Зависит от того, что вы хотите сделать.
Если вы просто хотите предотвратить исключение ActivityNotFoundException, любой из методов будет работать.Ни один не "лучший".Они делают в основном то же самое.Вы хотите знать, есть ли хотя бы 1 Activity
, который может обработать вашу Intent
.
В противном случае:
queryIntentActivities()
возвращает список всех операций, которые могут обрабатыватьIntent
. resolveActivity()
возвращает «лучшее» Activity
, которое может обработать Intent
Поэтому, если вы хотите знать все действия, которые могут обрабатывать ваши Intent
, вы бы использовали queryIntentActivities()
, и если вы хотите знать, что Android считает «лучшим» Activity
, то вы бы использовали resolveActivity()
.