Метод 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