Создаем портфолио за 1 месяц
К концу месяца: 4 классных проекта в вашем портфолио! Стоимость: 100$. Подробности...
304 of 502 menu
◀ ▶

Метод createChooser

Статический метод createChooser класса Intent возвращает новый intent для startActivity. Пользователь сам выбирает приложение, которому уйдёт исходный intent, например ACTION_SEND. Заголовок диалога задают параметром title.

Синтаксис

val chooser = Intent.createChooser(sendIntent, "abcde")

Параметры

Параметр Описание
target Intent, который нужно передать выбранному приложению.
title Подпись в диалоге выбора. Может быть null.

Пример

Давайте предложим отправить строку note:

import android.content.Intent import android.os.Bundle import androidx.activity.ComponentActivity import androidx.activity.compose.setContent import androidx.compose.material3.Button import androidx.compose.material3.Text class MainActivity : ComponentActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContent { Button(onClick = { val sendIntent = Intent(Intent.ACTION_SEND).apply { type = "text/plain" putExtra(Intent.EXTRA_TEXT, "12345") } val chooser = Intent.createChooser(sendIntent, "abcde") startActivity(chooser) }) { Text(text = "abcde") } } } }

На экране кнопка откроет chooser с заголовком "abcde" и списком приложений.

Пример

Давайте откроем VIEW через chooser для ссылки:

import android.content.Intent import android.net.Uri import android.os.Bundle import androidx.activity.ComponentActivity import androidx.activity.compose.setContent import androidx.compose.material3.Button import androidx.compose.material3.Text class MainActivity : ComponentActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContent { Button(onClick = { val viewIntent = Intent( Intent.ACTION_VIEW, Uri.parse("https://example.com/12345"), ) startActivity(Intent.createChooser(viewIntent, "12345")) }) { Text(text = "12345") } } } }

На экране пользователь выберет браузер или другое приложение для ссылки.

Смотрите также

  • метод setAction,
    ACTION_SEND перед chooser
  • метод setType,
    MIME для send intent
  • метод startActivity,
    запуск chooser intent
  • класс Intent,
    где объявлен createChooser
← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить