Метод getSystemService
Метод getSystemService класса
Context
выдаёт объект OS сервиса: ввод, уведомления,
сеть, clipboard и другие.
Имя берут из констант Context,
например NOTIFICATION_SERVICE.
Результат приводят к нужному типу вручную
или через extension getSystemService<T> в KTX.
Синтаксис
val service = getSystemService(Context.INPUT_METHOD_SERVICE)
Параметры
| Параметр | Описание |
|---|---|
name |
Строковый идентификатор сервиса из констант Context.
|
Пример
Давайте получим NotificationManager в activity:
import android.app.NotificationManager
import android.content.Context
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 manager = getSystemService(Context.NOTIFICATION_SERVICE)
as NotificationManager
setContent {
Text(text = manager.toString())
}
}
}
На экране текст с описанием объекта менеджера уведомлений, полученного через getSystemService.
Смотрите также
-
класс
Context,
у которого вызывают getSystemService -
класс
LocalContext,
через который берут context в Compose -
класс
Application,
который тоже может вызывать getSystemService -
метод
checkSelfPermission,
который проверяет разрешения перед сервисами