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

Метод 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 с категориями
← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить