Класс PendingIntent
Класс PendingIntent нужен уведомлениям,
виджетам и alarm, когда код должен
запуститься без открытого процесса.
Объект создают статическими методами
getActivity,
getBroadcast
и
getService
из обычного
Intent.
На новых API указывают флаг mutability
вместе с PendingIntent.
Синтаксис
val pending = PendingIntent.getActivity(context, 0, intent, flags)
Методы
| Метод | Описание |
|---|---|
getActivity |
PendingIntent для запуска activity. |
getBroadcast |
PendingIntent для BroadcastReceiver. |
getService |
PendingIntent для запуска service. |
Пример
Давайте подготовим PendingIntent для открытия SecondActivity:
import android.app.PendingIntent
import android.content.Intent
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 intent = Intent(this, SecondActivity::class.java)
val flags = PendingIntent.FLAG_UPDATE_CURRENT or PendingIntent.FLAG_IMMUTABLE
val pending = PendingIntent.getActivity(this, 0, intent, flags)
setContent {
Text(text = "abcde")
}
}
}
На экране будет текст "abcde",
если PendingIntent успешно создан.
Смотрите также
-
метод
getActivity,
запуск экрана из уведомления -
класс
Intent,
основа для PendingIntent -
метод
startActivity,
немедленный запуск activity -
класс
Context,
первый аргумент фабрик PendingIntent