Как проверить, может ли намерение обработать сервис Android? - PullRequest
0 голосов
/ 13 июля 2020

Мое android устройство предоставляет Intent, которое я могу использовать для управления некоторыми его функциями. К сожалению, это не единственное устройство, которое я использую, и мне нужно знать, это то или другое. Единственный способ, которым я могу определить разницу, - это проверить, есть ли там выставленный Intent или нет. Конечно, возникает масса вопросов о проверке наличия Activity, который мог бы обрабатывать специфику c Intent, но в этом случае за ним нет Activity - вызов resolveActivity() возвращает null хотя Intent обрабатывается нормально.

Я пробовал этот ответ и вижу намерение в списке, но я не могу найти способ получить этот список программно внутри моего приложение или сервис.

1 Ответ

1 голос
/ 13 июля 2020

PackageManager предоставляет resolveService () , именно для этой цели:

abstract ResolveInfo resolveService (Intent intent, int flags)

Определить лучший сервис для выполнения данного Намерения.

...