백그라운드에서 위치 정보 액세스
컬렉션을 사용해 정리하기
내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요.
위치 정보 액세스 권한 요청 및 개인정보 보호 권장사항 페이지에 설명된 대로 앱은 사용자에게 표시되는 기능에 중요한 위치 정보 액세스 권한 유형만 요청하고 이를 사용자에게 적절하게 공개해야 합니다. 대부분의 사용 사례는 사용자가 앱을 사용하고 있을 때만 위치 정보를 요청합니다. 앱에서 지오펜싱을 구현할 때와 같이 백그라운드 위치 정보를 요구한다면 그 정보는 앱의 핵심 기능에 필요하며 사용자에게 분명한 혜택을 제공하고 명확한 방식으로 실행되어야 합니다.
참고: Google Play 스토어는 기기 위치 관련 정책을 업데이트하여 핵심 기능에 필요한 앱의 백그라운드 위치 액세스를 제한하고 관련 정책 요구사항을 충족합니다. 이러한 권장사항을 채택한다고 해서 Google Play가 백그라운드에서 앱의 위치 사용을 승인하는 것은 아닙니다.
기기 위치와 관련된 정책 변경사항에 관해 자세히 알아보세요.
백그라운드 위치 정보 액세스 체크리스트
다음 체크리스트를 사용하여 백그라운드에서 실행되는 잠재적인 위치 정보 액세스 로직을 식별합니다.
백그라운드 위치 정보 액세스 평가
앱이 백그라운드에서 위치 정보에 액세스하는 것을 알았다면 다음 작업을 실행하는 것을 고려해야 합니다.
- 백그라운드 위치 정보 액세스가 앱의 핵심 기능에 필요한지 평가합니다.
백그라운드에서 위치 정보 액세스가 필요하지 않다면 삭제합니다.
앱이 Android 10(API 수준 29) 이상을 타겟팅한다면 앱 매니페스트에서 ACCESS_BACKGROUND_LOCATION
권한을 삭제합니다. 이 권한을 삭제하면 Android 10을 실행하는 기기에서는 앱이 항상 위치 정보에 액세스하는 것을 지원하지 않습니다.
사용자가 앱이 백그라운드에서 위치에 액세스하고 있음을 알도록 해야 합니다. 이는 사용자에게 명확하지 않은 경우에 특히 중요합니다.
가능하면 앱 활동이 사용자에게 표시될 때만 위치를 요청하도록 위치 정보 액세스 로직을 리팩터링합니다.
백그라운드 위치 액세스 업데이트 제한
앱에 백그라운드 위치 정보 액세스가 필요하다면 Android는 Android 8.0(API 수준 26) 이상을 실행하는 기기에서 백그라운드 위치 액세스 제한을 설정하여 기기의 배터리 수명을 절약한다는 점에 유의하시기 바랍니다. 이러한 Android 버전에서는 앱이 백그라운드에서 실행 중인 경우 시간당 몇 번만 위치 업데이트를 받을 수 있습니다. 백그라운드 위치 액세스 제한에 관해 자세히 알아보세요.
추가 리소스
다음 자료에서 백그라운드 위치 액세스 사용법에 관해 자세히 알아보세요.
동영상
사용 가능한 백그라운드 위치 정보 액세스 사용법을 찾는 방법
샘플
앱이 백그라운드에 있을 때 위치 액세스에 관한 권장사항을 보여주는 샘플입니다.
이 페이지에 나와 있는 콘텐츠와 코드 샘플에는 콘텐츠 라이선스에서 설명하는 라이선스가 적용됩니다. 자바 및 OpenJDK는 Oracle 및 Oracle 계열사의 상표 또는 등록 상표입니다.
최종 업데이트: 2025-07-27(UTC)
[[["이해하기 쉬움","easyToUnderstand","thumb-up"],["문제가 해결됨","solvedMyProblem","thumb-up"],["기타","otherUp","thumb-up"]],[["필요한 정보가 없음","missingTheInformationINeed","thumb-down"],["너무 복잡함/단계 수가 너무 많음","tooComplicatedTooManySteps","thumb-down"],["오래됨","outOfDate","thumb-down"],["번역 문제","translationIssue","thumb-down"],["샘플/코드 문제","samplesCodeIssue","thumb-down"],["기타","otherDown","thumb-down"]],["최종 업데이트: 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."]]