Zadbaj o dobrą organizację dzięki kolekcji
Zapisuj i kategoryzuj treści zgodnie ze swoimi preferencjami.
Na tej stronie znajdziesz informacje na te tematy:
Jak poprosić o dostęp do lokalizacji w tle.
Jak obsługiwać żądanie w zależności od docelowej wersji pakietu SDK aplikacji.
Jak preferencje użytkownika dotyczące przybliżonej lokalizacji wpływają na sposób, w jaki aplikacja uzyskuje lokalizację w tle.
Rysunek 7. Na stronie Ustawienia znajduje się opcja Zawsze zezwalaj, która przyznaje dostęp do lokalizacji w tle.
Zawartość okna dialogowego z prośbą o uprawnienia zależy od docelowej wersji pakietu SDK
Gdy funkcja w aplikacji poprosi o dostęp do lokalizacji w tle na urządzeniu z Androidem 10 (API na poziomie 29), w oknie dialogowym uprawnień systemowych pojawi się opcja Zawsze zezwalaj. Jeśli użytkownik wybierze tę opcję, funkcja w Twojej aplikacji uzyska dostęp do lokalizacji w tle.
Na Androidzie 11 (poziom API 30) i nowszych wersjach okno systemowe nie zawiera jednak opcji Zawsze zezwalaj. Zamiast tego użytkownicy muszą włączyć lokalizację w tle na stronie ustawień, jak pokazano na ilustracji 7.
Aby ułatwić użytkownikom przejście na tę stronę ustawień, postępuj zgodnie ze sprawdzonymi metodami
podczas proszenia o uprawnienia do lokalizacji w tle. Proces przyznawania uprawnień zależy od docelowej wersji pakietu SDK aplikacji.
Aplikacja jest kierowana na Androida 11 lub nowszego
Jeśli aplikacja nie ma uprawnień ACCESS_BACKGROUND_LOCATION, a funkcja shouldShowRequestPermissionRationale() zwraca wartość true, wyświetl użytkownikom interfejs edukacyjny, który zawiera te elementy:
jasne wyjaśnienie, dlaczego funkcja aplikacji potrzebuje dostępu do lokalizacji w tle;
Etykieta widoczna dla użytkownika w opcji ustawień, która przyznaje dostęp do lokalizacji w tle (np. Zawsze zezwalaj na ilustracji 7). Aby uzyskać tę etykietę, możesz zadzwonić pod numer getBackgroundPermissionOptionLabel(). Wartość zwracana przez tę metodę jest dostosowana do preferencji językowych użytkownika urządzenia.
opcję odrzucenia uprawnień przez użytkowników; Jeśli użytkownicy odmówią dostępu do lokalizacji w tle, powinni móc nadal korzystać z aplikacji.
Rysunek 8. Powiadomienie przypominające użytkownikowi, że przyznał aplikacji dostęp do lokalizacji w tle.
Aplikacja jest kierowana na Androida 10 lub starszego
Gdy funkcja w aplikacji prosi o dostęp do lokalizacji w tle, użytkownicy widzą okno systemowe. W tym oknie znajduje się opcja przejścia do ustawień uprawnień aplikacji do lokalizacji na stronie ustawień.
Jeśli Twoja aplikacja korzysta już ze sprawdzonych metod dotyczących żądania uprawnień do lokalizacji, nie musisz wprowadzać żadnych zmian, aby obsługiwać to zachowanie.
Użytkownik może wpływać na dokładność lokalizacji w tle
Jeśli użytkownik poprosi o przybliżoną lokalizację, jego wybory w oknie uprawnień dostępu do lokalizacji będą też dotyczyć lokalizacji w tle. Innymi słowy, jeśli użytkownik przyzna Twojej aplikacji uprawnienie ACCESS_BACKGROUND_LOCATION, ale przyzna tylko dostęp do przybliżonej lokalizacji na pierwszym planie, Twoja aplikacja będzie miała dostęp do przybliżonej lokalizacji również w tle.
Dodatkowe materiały
Więcej informacji o uprawnieniach do lokalizacji na Androidzie znajdziesz w tych materiałach:
Treść strony i umieszczone na niej fragmenty kodu podlegają licencjom opisanym w Licencji na treści. Java i OpenJDK są znakami towarowymi lub zastrzeżonymi znakami towarowymi należącymi do firmy Oracle lub jej podmiotów stowarzyszonych.
Ostatnia aktualizacja: 2025-08-27 UTC.
[[["Łatwo zrozumieć","easyToUnderstand","thumb-up"],["Rozwiązało to mój problem","solvedMyProblem","thumb-up"],["Inne","otherUp","thumb-up"]],[["Brak potrzebnych mi informacji","missingTheInformationINeed","thumb-down"],["Zbyt skomplikowane / zbyt wiele czynności do wykonania","tooComplicatedTooManySteps","thumb-down"],["Nieaktualne treści","outOfDate","thumb-down"],["Problem z tłumaczeniem","translationIssue","thumb-down"],["Problem z przykładami/kodem","samplesCodeIssue","thumb-down"],["Inne","otherDown","thumb-down"]],["Ostatnia aktualizacja: 2025-08-27 UTC."],[],[],null,["This page discusses the following:\n\n- How to request background location access.\n- How to handle the request based on your app's target SDK version.\n- How user preferences for approximate location affect how your app gets background location.\n\n**Note:** If a feature in your app accesses location from the background, verify that access is necessary. Consider getting the information that the feature needs in other ways. To learn more about background location access, see the [Access location in the background](/training/location/background) page. \n**Figure 7.** Settings page includes an option called **Allow all the time**, which grants background location access.\n\nPermission dialog contents depend on target SDK version\n\nWhen a feature in your app requests background location on a device that runs\nAndroid 10 (API level 29), the system permissions dialog includes an option\nnamed **Allow all the time**. If the user selects this option, the feature in\nyour app gains background location access.\n\nOn Android 11 (API level 30) and higher, however, the system dialog doesn't\ninclude the **Allow all the time** option. Instead, users must enable background\nlocation on a settings page, as shown in figure 7.\n\nYou can help users navigate to this settings page by following best practices\nwhen requesting the background location permission. The process for granting the\npermission depends on your app's target SDK version.\n\nApp targets Android 11 or higher\n\nIf your app hasn't been granted the `ACCESS_BACKGROUND_LOCATION` permission, and\n[`shouldShowRequestPermissionRationale()`](/reference/androidx/core/app/ActivityCompat#shouldShowRequestPermissionRationale(android.app.Activity,%20java.lang.String)) returns `true`, show an\neducational UI to users that includes the following:\n\n- A clear explanation of why your app's feature needs access to background location.\n- The user-visible label of the settings option that grants background location (for example, **Allow all the time** in figure 7). You can call [`getBackgroundPermissionOptionLabel()`](/reference/android/content/pm/PackageManager#getBackgroundPermissionOptionLabel()) to get this label. The return value of this method is localized to the user's device language preference.\n- An option for users to decline the permission. If users decline background location access, they should be able to continue using your app.\n\n**Figure 8.**Notification reminding the user that they've granted background location access to an app.\n\nApp targets Android 10 or lower\n\nWhen a feature in your app requests background location access, users see a\nsystem dialog. This dialog includes an option to navigate to your app's location\npermission options on a settings page.\n\nAs long as your app already follows best practices for requesting location\npermissions, you don't need to make any changes to support this behavior.\n\nUser can affect background location accuracy\n\nIf the [user requests approximate location](/develop/sensors-and-location/location/permissions/runtime#approximate-request), the user's choices in the\nlocation permissions dialog also apply to background location. In other words,\nif the user grants your app the `ACCESS_BACKGROUND_LOCATION` permission but\ngrants only approximate location access in the foreground, your app has only\napproximate location access in the background as well.\n\nAdditional resources\n\nFor more information about location permissions in Android, view the following\nmaterials:\n\nCodelabs\n\n- [Privacy best practices](/codelabs/android-privacy-codelab)\n\nVideos\n\n- [How to find possible background location usage](https://www.youtube.com/watch?v=xTVeFJZQ28c)\n\nSamples\n\n- [Sample app](https://github.com/android/platform-samples/tree/main/samples/location/src/main/java/com/example/platform/location/permission) to demonstrate the use of location permissions."]]