Метод checkSelfPermission
Метод checkSelfPermission класса
Context
принимает строку разрешения и возвращает
PackageManager.PERMISSION_GRANTED
или PERMISSION_DENIED.
Если доступа нет, запрос отправляют через
registerForActivityResult.
Перед запросом можно вызвать
shouldShowRequestPermissionRationale.
Синтаксис
val res = checkSelfPermission(permission)
Параметры
| Параметр | Описание |
|---|---|
permission |
Имя разрешения, например из Manifest.permission.
|
Пример
Давайте покажем, выдано ли разрешение камеры:
import android.Manifest
import android.content.pm.PackageManager
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 granted = checkSelfPermission(Manifest.permission.CAMERA) ==
PackageManager.PERMISSION_GRANTED
setContent {
Text(text = if (granted) "abcde" else "12345")
}
}
}
На экране "abcde", если разрешение уже есть,
иначе "12345".
Смотрите также
-
метод
registerForActivityResult,
которым запрашивают недостающее разрешение -
метод
shouldShowRequestPermissionRationale,
который подсказывает показ объяснения -
класс
Context,
у которого вызывают checkSelfPermission -
класс
ComponentActivity,
в которой удобно регистрировать launcher