Ответ
В Android есть несколько типов разрешений:
- Обычные (Normal) - не требуют явного запроса (например, интернет)
<uses-permission android:name="android.permission.INTERNET"/>
- Опасные (Dangerous) - требуют runtime-запроса (камера, контакты и т.д.)
if (checkSelfPermission(Manifest.permission.CAMERA) != PERMISSION_GRANTED) {
requestPermissions(arrayOf(Manifest.permission.CAMERA), REQUEST_CODE)
}
-
Сигнатурные (Signature) - автоматически выдаются, если подпись совпадает с приложением-владельцем
-
Особые (Special) - например,
SYSTEM_ALERT_WINDOWилиWRITE_SETTINGS, требующие дополнительных действий -
Разрешения времени установки (Install-time) - автоматически предоставляются при установке
Начиная с Android 10 появились разрешения для доступа к местоположению в фоне, а в Android 11 - одноразовые разрешения.