Что знаешь про взаимодействие между приложениями

«Что знаешь про взаимодействие между приложениями» — вопрос из категории Android компоненты, который задают на 23% собеседований Android Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

В Android приложения могут взаимодействовать через Intents, Content Providers, Broadcast Receivers и Binder (AIDL).

Intents – самый распространённый способ, например, для открытия другого приложения:

val intent = Intent(Intent.ACTION_VIEW, Uri.parse("https://google.com"))
startActivity(intent)

Content Providers – для обмена данными (например, контакты, медиа).

Broadcast Receivers – для рассылки и получения системных или кастомных событий.

AIDL (Android Interface Definition Language) – для межпроцессного взаимодействия (IPC), например, между сервисом и клиентом.

Важно учитывать permissions (например, android:exported в манифесте) для безопасности.