Ответ
Для взаимодействия со сторонними приложениями в Android используются явные и неявные Intent'ы, а также Content Providers или Broadcast Receivers.
Явный Intent (если знаем точный класс):
val intent = Intent(this, OtherActivity::class.java)
startActivity(intent)
Неявный Intent (через action):
val intent = Intent(Intent.ACTION_VIEW).apply {
data = Uri.parse("https://google.com")
}
startActivity(intent)
Для глубоких ссылок используйте Intent Filters в манифесте:
<intent-filter>
<action android:name="android.intent.action.VIEW"/>
<category android:name="android.intent.category.DEFAULT"/>
<data android:scheme="myapp" android:host="details"/>
</intent-filter>
Для долгосрочного взаимодействия используйте Content Providers (для данных) или Bound Services (для IPC). Всегда проверяйте наличие приложения перед вызовом:
intent.resolveActivity(packageManager)?.let {
startActivity(intent)
}