Назад к вопросам
Junior
159
questionbank

Какие существуют типы Intents в Android?

Sobes Copilot

Получайте ответы в реальном времени

Ответ от нейросети

sobes.tech AI

Существует два основных типа Intents:

  • Explicit Intents (Явные интенты): Указывают конкретный компонент (Activity, Service, BroadcastReceiver) для запуска.

    // Пример явного интента для запуска SpecificActivity
    val intent = Intent(this, SpecificActivity::class.java)
    startActivity(intent)
    
  • Implicit Intents (Неявные интенты): Объявляют общее действие, которое должны выполнить компоненты. Система Android затем находит подходящие компоненты, зарегистрированные для обработки данного действия (через Intent filters).

    // Пример неявного интента для открытия веб-страницы
    val webpage: Uri = Uri.parse("http://www.example.com")
    val intent = Intent(Intent.ACTION_VIEW, webpage)
    // Проверяем, есть ли Activity, которая обработает этот интент
    if (intent.resolveActivity(packageManager) != null) {
        startActivity(intent)
    }
    

Также интенты могут содержать дополнительные данные (Extras) в виде пар "ключ-значение".