Перейдите к другому приложению с помощью компонента навигации и composable

#android #android-jetpack-compose #android-architecture-navigation #android-navigation

#Android #android-реактивный ранец -создание #android-архитектура-навигация #android-навигация

Вопрос:

Я создаю приложение с навигационным компонентом и composable. Представьте, что у меня есть приложение для Android с navHost таким:

 NavHost(
    navController = navController,
    startDestination = RallyScreen.Overview.name,
    modifier = Modifier.padding(innerPadding)
) {
    composable(RallyScreen.Overview.name) { 
      Text(RallyScreen.Overview.name)
    }
    composable(RallyScreen.Accounts.name) {
        Text(RallyScreen.Accounts.name) 
    }
    composable(RallyScreen.Bills.name) { 
        Text(RallyScreen.Bills.name) 
    }
}
 

Интересно, как я могу определить навигацию к другому приложению, например, Gmail или любым другим приложениям.

Ответ №1:

Может быть, кто-то более опытный меня поправит, но я думаю, что это неправильный подход к проблеме.
В двух словах, NavHost используется для ссылки routes на composables функции вашего приложения и обработки навигации в приложении. Почему вы хотите создать ссылку на другое приложение здесь? Что вы пытаетесь сделать?

Скорее всего, в одной из ваших функций composables у вас будет, например, кнопка, которая запускает действие с намерением.

 Button(
    onClick = { startActivity(intent) }
) {
    Text(text = "Button")
}
 

Вы также можете сделать это с BottomNavigation помощью onClick свойства the BottomNavigationItem .