Метод addCategory
Метод addCategory класса
Intent
дополняет описание intent категорией.
Категории вроде CATEGORY_LAUNCHER
и CATEGORY_BROWSABLE
помогают системе выбрать компонент.
Используют вместе с
setAction
для неявных intent.
Синтаксис
intent.addCategory(Intent.CATEGORY_LAUNCHER)
Параметры
| Параметр | Описание |
|---|---|
category |
Строка категории, обычно константа Intent. |
Пример
Давайте откроем главный экран приложения через MAIN и LAUNCHER:
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 intent = Intent(Intent.ACTION_MAIN)
intent.addCategory(Intent.CATEGORY_LAUNCHER)
intent.setPackage(packageName)
startActivity(intent)
}) {
Text(text = "abcde")
}
}
}
}
На экране кнопка вернёт пользователя к launcher-activity этого пакета.
Пример
Давайте отметим ссылку как CATEGORY_BROWSABLE:
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, Uri.parse("https://example.com/12345"))
intent.addCategory(Intent.CATEGORY_BROWSABLE)
startActivity(intent)
}) {
Text(text = "12345")
}
}
}
}
На экране браузер или другое приложение откроет http-ссылку как просматриваемую.
Смотрите также
-
метод
setAction,
который задаёт ACTION_MAIN или ACTION_VIEW -
метод
setPackage,
ограничение intent своим пакетом -
класс
Intent,
значения ACTION_MAIN в таблице -
метод
startActivity,
запуск intent с категориями