Permission — право на опасную или чувствительную возможность (камера, локация, контакты). Normal выдаются при установке; dangerous требуют runtime-запроса на API 23+.
Разбор
- Сначала uses-permission в Manifest, потом requestPermissions / Activity Result API.
- Отказ пользователя — нормальный сценарий: нужен fallback UI.
- Специальные права (SYSTEM_ALERT_WINDOW, SCHEDULE_EXACT_ALARM) идут через Settings.
- Не запрашивайте всё подряд на старте — объясняйте контекст (rationale).
Итог
Права — и безопасность пользователя, и обязательный UX-поток в приложении.