Arka Plan Konum Limitleri
Koleksiyonlar ile düzeninizi koruyun
İçeriği tercihlerinize göre kaydedin ve kategorilere ayırın.
Android 8.0 (API düzeyi 26), güç tüketimini azaltmak amacıyla, uygulama arka planda çalışırken kullanıcının mevcut konumunu ne sıklıkta alabileceğini sınırlandırır. Bu koşullarda uygulamalar, saatte yalnızca birkaç kez konum güncellemesi alabilir.
Not: Bu sınırlamalar, uygulamanın hedef SDK sürümünden bağımsız olarak Android 8.0 (API düzeyi 26) veya sonraki sürümleri çalıştıran cihazlarda kullanılan tüm uygulamalar için geçerlidir.
Bu konum alma davranışı, uygulamanız arka planda çalışırken gerçek zamanlı uyarılara veya hareket algılamaya dayanıyorsa özellikle dikkate alınması gereken bir konudur.
Ön plan uygulama davranışı korunur
Android 8.0 (API seviyesi 26) çalıştıran bir cihazda ön planda olan bir uygulamanın konum güncelleme davranışı, Android 7.1.1 (API seviyesi 25) ve önceki sürümlerdekiyle aynıdır.
Uygulamanız uzun süre boyunca gerçek zamanlıya yakın konum güncellemeleri alırsa cihazın pil ömrü önemli ölçüde kısalır.
Uygulamanızın konum davranışını ayarlama
Uygulamanız sık konum güncellemesi almıyorsa arka planda çalışmayla ilgili kullanım alanlarının hiç başarılı olup olamayacağını düşünün. Bu durumda, aşağıdaki işlemlerden birini gerçekleştirerek konum güncellemelerini daha sık alabilirsiniz:
- Uygulamanızı ön plana getirin.
-
startForegroundService()
çağrısını yaparak uygulamanızda bir ön plan hizmeti başlatın. Bu tür bir ön plan hizmeti etkin olduğunda bildirim alanında devam eden bildirim olarak görünür.
Dikkat: Uygulamanız, Android 11 (API düzeyi 30) veya sonraki sürümleri çalıştıran bir cihazda arka planda çalışırken bir ön plan hizmetini başlatırsa kullanıcı uygulamanıza ACCESS_BACKGROUND_LOCATION
izni vermediği sürece konum bilgilerine erişemez. Daha fazla bilgi için ön plan hizmetleriyle ilişkili kullanım sırasındaki kısıtlamalar hakkındaki yönergeleri inceleyin.
-
Güç kullanımını en aza indirmek için optimize edilmiş
GeofencingClient
gibi Coğrafi Çit API öğelerini kullanın.
-
Ön planda daha hızlı konum güncellemesi isteyen uygulamalar varsa daha hızlı konum güncellemeleri alabilen pasif bir konum dinleyici kullanın.
Not: Uygulamanızın, sık sık güncelleme içeren konum geçmişine erişmesi gerekiyorsa FusedLocationProviderApi
arayüzü gibi Fused Location Provider API öğelerinin toplu sürümünü kullanın. Uygulamanız arka planda çalışırken bu API, kullanıcının konumunu toplu olmayan API'den daha sık alır. Ancak uygulamanızın güncellemeleri yalnızca saatte birkaç kez toplu olarak aldığını unutmayın.
Etkilenen API'ler
Arka plan uygulamalarında konum alma davranışında yapılan değişiklikler aşağıdaki API'leri etkiler:
- Çok kaynaklı konum sağlayıcı (FLP)
-
-
Uygulamanız arka planda çalışıyorsa konum sistemi hizmeti, uygulamanız için saatte yalnızca birkaç kez yeni bir konum hesaplar. Bu durum, uygulamanız daha sık konum güncellemesi isteğinde bulunsa bile geçerlidir.
Ancak FLP'nin
toplu sürümünü kullanarak, uygulamanız toplu güncelleme aldıktan sonra daha sık konum geçmişine erişebilirsiniz. Bu güncelleme de her saat yalnızca birkaç kez gerçekleşir.
- Uygulamanız ön planda çalışıyorsa konum örnekleme hızlarında Android 7.1.1 (API seviyesi 25) ile karşılaştırıldığında herhangi bir değişiklik yoktur.
- Coğrafi sınır çizme
-
- Arka plan uygulamaları, Birleştirilmiş Konum Sağlayıcı'dan gelen güncellemelerden daha sık coğrafi sınır geçişi etkinlikleri alabilir.
- Coğrafi sınırlama etkinliği için ortalama yanıt süresi yaklaşık birkaç dakikadır.
- GNSS Ölçümleri ve GNSS Gezinme Mesajları
-
- Konum Yöneticisi
-
-
Arka plan uygulamalarına konum güncellemeleri yalnızca saatte birkaç kez sağlanır.
Not: Uygulamanız Google Play Hizmetleri'nin yüklü olduğu bir cihazda çalışıyorsa bunun yerine Birleştirilmiş Konum Sağlayıcı'yı (FLP) kullanmanız önemle tavsiye edilir.
- Kablosuz Yöneticisi
-
startScan()
yöntemi,
arka plan uygulamaları için yalnızca saatte birkaç kez tam tarama yapar. Bir arka plan uygulaması kısa süre sonra yöntemi tekrar çağırırsa WifiManager
sınıfı önceki taramadan önbelleğe alınmış sonuçları sağlar.
Bu sayfadaki içerik ve kod örnekleri, İçerik Lisansı sayfasında açıklanan lisanslara tabidir. Java ve OpenJDK, Oracle ve/veya satış ortaklarının tescilli ticari markasıdır.
Son güncelleme tarihi: 2025-07-27 UTC.
[null,null,["Son güncelleme tarihi: 2025-07-27 UTC."],[],[],null,["# Background Location Limits\n\nIn an effort to reduce power consumption, Android 8.0 (API level 26) limits\nhow frequently an app can retrieve the user's current location while the app is\n[running in the background](/guide/background). Under these\nconditions, apps can receive location updates only a few times each hour.\n\n**Note:** These limitations apply to all apps used on devices\nrunning Android 8.0 (API level 26) or higher, **regardless of an app's\ntarget SDK version**.\n\nThis location retrieval behavior is particularly\nimportant to keep in mind if your app relies on real-time alerts or motion\ndetection while running in the background.\n\nForeground app behavior is preserved\n------------------------------------\n\n\nIf an app is in the foreground on a device running Android 8.0 (API level 26),\nthe location update behavior is the same as on Android 7.1.1 (API level\n25) and lower.\n\n**Warning:** If your app retrieves near real-time location\nupdates over a long period of time, the device's battery life becomes\nsignificantly shorter.\n\nTuning your app's location behavior\n-----------------------------------\n\nConsider whether your app's use cases for running in the background cannot\nsucceed at all if your app receives infrequent location updates. If this is the\ncase, you can retrieve location updates more frequently by performing one of the\nfollowing actions:\n\n- Bring your app to the foreground.\n- Start a [foreground\n service](/guide/components/foreground-services) in your app by calling\n [startForegroundService()](/reference/android/content/Context#startForegroundService(android.content.Intent)). When such a foreground service is active, it\n appears as an ongoing notification in the\n [notification\n area](/guide/topics/ui/notifiers/notifications).\n\n **Caution:** If your app starts a foreground service\n while running in the background on a device that runs Android 11 (API\n level 30) or higher, your app cannot access location information unless the\n user has granted the\n [`ACCESS_BACKGROUND_LOCATION`](/reference/android/Manifest.permission#ACCESS_BACKGROUND_LOCATION)\n permission to your app. For more information, view the guidance about the\n [while-in-use\n restrictions](/guide/components/foreground-services#while-in-use-restrictions) that are associated with foreground services.\n- Use elements of the Geofencing API, such as the [`GeofencingClient`](https://developers.google.com/android/reference/com/google/android/gms/location/GeofencingClient), which are optimized for minimizing power use.\n- Use a passive location listener, which may receive faster location updates if there are foreground apps requesting location updates at a faster rate.\n\n**Note:** If your app needs access to location history that\ncontains time-frequent updates, use the batched version of the Fused Location\nProvider API elements, such as the\n[`FusedLocationProviderApi`](https://developers.google.com/android/reference/com/google/android/gms/location/FusedLocationProviderApi)\ninterface. When your app is running in the background, this API receives the\nuser's location more frequently than the non-batched API. Keep in mind, however,\nthat your app still receives updates in batches only a few times each hour.\n\nAffected APIs\n-------------\n\n\nThe changes to location retrieval behavior in background apps affect the\nfollowing APIs:\n\n[Fused\nLocation Provider (FLP)](https://developers.google.com/android/reference/com/google/android/gms/location/FusedLocationProviderApi)\n:\n - If your app is running in the background, the location system service\n computes a new location for your app only a few times each hour. This\n is the case even when your app is requesting more frequent location\n updates.\n\n By using the\n [batched version](https://developers.google.com/android/reference/com/google/android/gms/location/LocationRequest#setMaxWaitTime(long)) of FLP, however, you have access to more\n time-frequent location history after your app receives a batch update,\n which also occurs only a few times each hour.\n - If your app is running in the foreground, there is no change in location sampling rates compared to Android 7.1.1 (API level 25).\n\nGeofencing\n:\n - Background apps can receive geofencing transition events more frequently than updates from the Fused Location Provider.\n - The average responsiveness for a geofencing event is every couple of minutes or so.\n\nGNSS Measurements and GNSS Navigation Messages\n:\n - When your app is in the background, callbacks that are registered to receive outputs from [GnssMeasurement](/reference/android/location/GnssMeasurement) and [GnssNavigationMessage](/reference/android/location/GnssNavigationMessage) stop executing.\n\nLocation Manager\n:\n - Location updates are provided to background apps only a few times\n each hour.\n\n\n **Note:** If your app is running on a device with\n Google Play services installed, it is highly recommended that you use\n the [Fused\n Location Provider (FLP)](https://developers.google.com/android/reference/com/google/android/gms/location/FusedLocationProviderApi) instead.\n\nWi-Fi Manager\n:\n The [startScan()](/reference/android/net/wifi/WifiManager#startScan()) method\n performs a full scan for background apps only a few times each hour. If a\n background app calls the method again soon afterward, the\n [WifiManager](/reference/android/net/wifi/WifiManager) class provides cached results from the\n previous scan."]]