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

Метод setData

Метод setData класса Intent задаёт адрес ресурса типа Uri. Его комбинируют с действием из setAction, например ACTION_VIEW. Строку превращают в Uri через parse.

Синтаксис

intent.setData(Uri.parse("https://example.com/abcde"))

Параметры

Параметр Описание
data Uri страницы, файла, tel: или другой схемы.

Пример

Давайте откроем https-ссылку:

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 intent = Intent(Intent.ACTION_VIEW) intent.setData(Uri.parse("https://example.com/abcde")) startActivity(intent) }) { Text(text = "12345") } } } }

На экране кнопка "12345" предложит открыть ссылку подходящим приложением.

Пример

Давайте зададим data через свойство data в apply:

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 intent = Intent(Intent.ACTION_VIEW).apply { data = Uri.parse("geo:0,0?q=abcde") } startActivity(intent) }) { Text(text = "abcde") } } } }

На экране откроется карта или приложение с запросом "abcde".

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

  • метод parse,
    который строит Uri из строки
  • метод setDataAndType,
    который ставит Uri и MIME вместе
  • метод setType,
    который задаёт MIME без Uri
  • класс Uri,
    тип параметра data
← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить