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