Android 17 introduces the Location Button, a system-rendered button that grants precise location for the current session without a standing ACCESS_FINE_LOCATION grant.
expo-location (including the in-progress expo-location/next rewrite) doesn't expose it yet, and I couldn't find an existing issue or community library for it.
Google Play announced on April 15, 2026 an update to its Location Permissions policy. It makes the location button the recommended minimum scope for precise location, with the change taking effect on January 27, 2027.
Many Expo apps request precise location only for one-off, in-session actions ("use my current location", check-in, nearby search). Those apps will likely be expected to use the location button instead of requesting ACCESS_FINE_LOCATION. Without first-party support, every affected app has to write and maintain its own native module before the deadline.
PROPOSED API (ROUGH IDEA)
  1. A native view component exported from expo-location (or expo-location/next), for example:
<LocationButton onResult={({ granted }) => { ... }} />
  1. An availability check, so apps can fall back to the existing permission flow on Android 16 and below and on iOS, for example:
Location.isLocationButtonAvailable() // true only on Android 17+
OPEN QUESTIONS
  • Which appearance options should be exposed as props, as far as the platform allows customization?
  • How should a session grant be reported by getForegroundPermissionsAsync() and useLocationForegroundPermissions()?
With the expo-location/next rewrite underway, it would help to know whether this is planned and roughly which SDK version it might land in. My Team need to decide soon whether to wait or build their own wrapper before January.
Happy to help.