Зависит от варианта использования. Лучший пример для этого - приложение сканера штрих-кода. Многие приложения зависят от того, будет ли это приложение работать правильно, это делает ваше приложение немного негибким, и вы должны направлять пользователя через установку другого приложения, если сканер недоступен, но вам не нужно делать всю работу сканировать код самостоятельно.
Вы также можете интегрировать библиотеку сканера в свое приложение. Но это означает, что вам нужно будет повторно публиковать свое приложение каждый раз, когда меняется библиотека сканера, и они часто меняются, чтобы настроить lib для всех различных возможностей телефона, таких как автофокус, флеш и т. Д.
Вы должны быть осторожны, если зависите от других приложений. Разработайте четкую стратегию действий, если приложение, от которого вы зависите, недоступно, и хороший пример того, как направить пользователя в процессе установки другого приложения. Используйте только те приложения, которые имеют хорошую репутацию и вряд ли будут менять API, не сообщая об этом должным образом, а также отслеживайте изменения в приложении, от которого вы зависите.
Если вы достаточно осторожны и хорошо интегрируете другое приложение, вы можете извлечь большую пользу из системы намерений, которая используется внутри Android. Вот некоторые примеры, которые мне нравятся:
- Интеграция с клиентом Twitter (пользователю не нужно предоставлять учетные данные Twitter для каждого приложения)
- Интеграция с картами (полное преимущество приложения могучих карт, а не только отображение карты внутри приложения)
- упомянутый сканер штрих-кода
- Отправка писем в почтовое приложение по выбору пользователя
- ...
Если ваше приложение не будет работать без других приложений, у вас могут возникнуть серьезные проблемы с маркетингом вашего приложения. Но с использованием Intents вы получаете множество мелких полезных функций без особых усилий по расширению вашего приложения.