Accesso alla posizione in background
Mantieni tutto organizzato con le raccolte
Salva e classifica i contenuti in base alle tue preferenze.
Come descritto nelle pagine relative alle richieste di autorizzazioni di accesso alla posizione e alle best practice per la privacy, le app devono chiedere solo il tipo di autorizzazione di accesso alla posizione fondamentale per la funzionalità rivolta agli utenti e comunicarlo correttamente agli utenti. La maggior parte dei casi d'uso richiede la posizione solo quando
l'utente interagisce con l'app. Se la tua app richiede la posizione in background, ad esempio
in sede di implementazione del geofencing, assicurati che sia fondamentale per la
funzionalità di base dell'app, che offra vantaggi evidenti all'utente e che venga eseguita in
modo ovvio.
Nota: il Google Play Store ha aggiornato le norme relative alla posizione del dispositivo, limitando l'accesso alla posizione in background alle app che ne hanno bisogno per la loro funzionalità di base e che soddisfano i requisiti delle norme correlati. L'adozione di queste best practice non garantisce che Google Play approvi l'utilizzo della posizione in background da parte della tua app.
Scopri di più sulle modifiche alle norme relative alla posizione del dispositivo.
Elenco di controllo per l'accesso alla posizione in background
Utilizza il seguente elenco di controllo per identificare la potenziale logica di accesso alla posizione in background:
Valutare l'accesso alla posizione in background
Se noti che la tua app accede alla posizione in background, valuta la possibilità di eseguire le seguenti azioni:
- Valutare se l'accesso alla posizione in background è fondamentale per la funzionalità
di base dell'app.
Se non hai bisogno dell'accesso alla posizione in background, rimuovilo.
Se la tua app ha come target Android 10 (livello API 29) o versioni successive, rimuovi l'autorizzazione ACCESS_BACKGROUND_LOCATION
dal file manifest dell'app. Se rimuovi questa autorizzazione, l'accesso costante alla posizione non è possibile per l'app sui dispositivi con Android 10.
Assicurati che l'utente sia a conoscenza del fatto che la tua app accede alla posizione in background. Ciò è particolarmente importante nei casi non evidenti per gli utenti.
Se possibile, rifattorizza la logica di accesso alla posizione in modo da richiedere la posizione solo quando l'attività della tua app è visibile agli utenti.
Aggiornamenti limitati alla posizione in background
Se l'accesso alla posizione in background è essenziale per la tua app, tieni presente che Android preserva la batteria del dispositivo impostando limiti di posizione in background sui dispositivi con Android 8.0 (livello API 26) e versioni successive. Su queste
versioni di Android, se la tua app è in esecuzione in background, può
ricevere aggiornamenti sulla posizione solo poche volte all'ora. Scopri di più sui limiti di posizione in background.
Risorse aggiuntive
Per scoprire di più sull'utilizzo della posizione in background, consulta i seguenti materiali:
Video
Come trovare un possibile utilizzo della posizione in background
Samples
Esempio
per dimostrare le best practice per l'accesso alla posizione quando l'app è in background.
I campioni di contenuti e codice in questa pagina sono soggetti alle licenze descritte nella Licenza per i contenuti. Java e OpenJDK sono marchi o marchi registrati di Oracle e/o delle sue società consociate.
Ultimo aggiornamento 2025-07-27 UTC.
[null,null,["Ultimo aggiornamento 2025-07-27 UTC."],[],[],null,["# Access location in the background\n\nAs described on the [request location\npermissions](/training/location/permissions) and [privacy best\npractices](/privacy/best-practices) pages, apps should only ask for the type of\nlocation permission that's critical to the user-facing feature, and properly\ndisclose this to users. The majority of use cases only require location when the\nuser is engaging with the app. If your app requires background location, such as\nwhen implementing geofencing, make sure that it's critical to the core\nfunctionality of the app, offers clear benefits to the user, and is done in a\nway that's obvious to them. \n**Note:** The Google Play store has updated its policy concerning device\nlocation, restricting background location access to apps that need it for\ntheir core functionality and meet related policy requirements. Adopting these\nbest practices doesn't guarantee Google Play approves your app's usage of\nlocation in the background.\n\nLearn more about the\n[policy\nchanges](https://support.google.com/googleplay/android-developer/answer/9799150) related to device location.\n\nBackground location access checklist\n------------------------------------\n\nUse the following checklist to identify potential location access logic in the\nbackground:\n\n- In your app's manifest, check for the\n [`ACCESS_COARSE_LOCATION` permission](/reference/android/Manifest.permission#ACCESS_COARSE_LOCATION)\n and the\n [`ACCESS_FINE_LOCATION` permission](/reference/android/Manifest.permission#ACCESS_FINE_LOCATION).\n Verify that your app requires these location permissions.\n\n - If your app targets Android 10 (API level 29) or higher, also check for the [`ACCESS_BACKGROUND_LOCATION`\n permission](/training/location/receive-location-updates#request-background-location). Verify that your app has a feature that requires it.\n- Look for use of location access APIs, such as the [Fused Location Provider\n API](https://developers.google.com/location-context/fused-location-provider),\n [Geofencing API](https://developers.google.com/location-context/geofencing), or\n [LocationManager API](/reference/android/location/LocationManager), within your\n code such as in the following constructs:\n\n - [Background services](/training/run-background-service/create-service)\n - [`JobIntentService`](/reference/kotlin/androidx/core/app/JobIntentService) objects\n - [`WorkManager`](/reference/kotlin/androidx/work/WorkManager) or [`JobScheduler`](/reference/kotlin/android/app/job/JobScheduler) tasks\n - [`AlarmManager`](/reference/kotlin/android/app/AlarmManager) operations\n - Pending intents that are invoked from an [app\n widget](/guide/topics/appwidgets)\n- If your app uses an SDK or library that accesses location, this access is\n attributed to your app. To determine whether an SDK or library needs location\n access, consult the library's documentation.\n\nEvaluate background location access\n-----------------------------------\n\nIf you find that your app accesses location in the background, consider taking\nthe following actions:\n\n- Evaluate whether background location access is critical to the core functionality of the app.\n- If you don't need location access in the background, remove it.\n\n If your app targets Android 10 (API level 29) or higher, remove the\n [`ACCESS_BACKGROUND_LOCATION`\n permission](/training/location/receive-location-updates#request-background-location)\n from your app's manifest. When you remove this permission, all-the-time\n access to location isn't an option for the app on devices that run\n Android 10.\n- Make sure the user is aware that your app is accessing location in the\n background. This is especially important for cases that aren't obvious to users.\n\n- If possible, [refactor your location access\n logic](/about/versions/oreo/background-location-limits#tuning-behavior) so that\n you request location only when your app's activity is visible to users.\n\nLimited updates to background location\n--------------------------------------\n\nIf background location access is essential for your app, keep in mind that\nAndroid preserves device battery life by setting *background location\nlimits* on devices that run Android 8.0 (API level 26) and higher. On these\nversions of Android, if your app is running in the background, it can receive\nlocation updates only a few times each hour. Learn more about [background\nlocation limits](/about/versions/oreo/background-location-limits).\n\nAdditional resources\n--------------------\n\nTo learn more about background location usage, view the following materials:\n\n### Videos\n\n[How to find possible background location\nusage](https://www.youtube.com/watch?v=xTVeFJZQ28c)\n\n### Samples\n\n[Sample](https://github.com/android/platform-samples/tree/main/samples/location/src/main/java/com/example/platform/location/bglocationaccess)\nto demonstrate best practices for accessing location when app is in background."]]