Класс Uri
Класс Uri описывает схему, путь
и параметры ресурса: https, content, tel и другие.
Его передают в
setData
и
setDataAndType.
Строку превращают в Uri методом
parse.
Для файлов на диске часто используют content Uri
через FileProvider, а не file://.
Синтаксис
val uri = Uri.parse("https://example.com/abcde")
Методы
| Метод | Описание |
|---|---|
parse |
Строит Uri из строки адреса. |
Пример
Давайте откроем https-ссылку через ACTION_VIEW:
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 uri = Uri.parse("https://example.com/abcde")
val intent = Intent(Intent.ACTION_VIEW, uri)
startActivity(intent)
}) {
Text(text = "12345")
}
}
}
}
На экране кнопка "12345" предложит открыть
страницу с этим Uri.
Пример
Давайте покажем scheme и host на экране:
import android.net.Uri
import android.os.Bundle
import androidx.activity.ComponentActivity
import androidx.activity.compose.setContent
import androidx.compose.material3.Text
class MainActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
val uri = Uri.parse("https://example.com/12345")
val label = "${uri.scheme}:${uri.host}"
setContent {
Text(text = label)
}
}
}
На экране будет текст вроде "https:example.com"
из частей Uri.
Смотрите также
-
метод
parse,
который создаёт Uri из строки -
метод
setData,
куда передают Uri -
класс
FileProvider,
content Uri для файлов приложения -
класс
Intent,
ACTION_VIEW с адресом Uri