Локация — dangerous permissions: ACCESS_COARSE/FINE, на API 29+ background location отдельно и только после foreground; на API 31+ точность приблизительная vs точная; всегда нужен rationale и fallback.
Разбор
- Сначала foreground, потом rare background с отдельным экраном объяснения.
- Play policy жёстко проверяет background location.
- FusedLocationProvider экономичнее сырого GPS.
- Отзыв права в любой момент — приложение должно деградировать.
Итог
Location — многоступенчатый permission UX: foreground → (редко) background, с политикой магазина.