Aralıklı ve Deplasman tabanlı güncellemeler için GoogleApiClient
kullanarak arka plan konum güncellemeleri üzerinde çalışıyorum ve test ediyorum. Birkaç gün boyunca test etme ve analiz etme konusunda, beklemediğim çıktıda bazı farklılıklar buldum.Arka plan Konum güncellemeleri Google API kullanarak - Sigortalı Konum Sağlayıcısı doğru değil
Aralığı tabanlı güncellemeler için
setInterval
vesetFastestInterval
kullanırken, ben 15 dakika ve En Hızlı Aralığıolarak 10 dakika, ben güncellemeleri alıyorum zamanın% 90 gibi bir Aralığı belirledik demek beklenen Aralık (10 ila 15 dakika). Ancak bazen, güncellemelerin belirtilen Aralık süresinden çok daha uzun sürdüğünü fark ettim, fark yaklaşık 30 dakika ve 60 dakika. Neden olduğuna dair bir fikrin farkı nedir?Mesafe bazlı güncellemeler için
setMinimumDisplacement
kullanırken, sadece sabit noktalarda (on 200 metre, ben güncellemeleri alıyorum gibi bir Deplasman belirledik söylerlerken o bile güncellemeleri vermez yolculuk 200 metre ve üzeri olan 200 metreden fazladır. Bu normal şekilde mi çalışıyor? Arka planda konum güncellemeleriniBroadcastReceiver
konum güncellemelerini almak amacıyla
Ben konum isteklerinin PendingIntent
türünü kullanıyorum. HIGH_ACCURACY
fusedLocationProviderClient.requestLocationUpdates(locationRequest, pendingIntent);
test ederken, Konum Hizmetleri ve Yer Modu AÇIK idi.
Normal davranışları söyleyemiyorum ama sizinkilerle benzer sorunları gördüm. Muhakkak ki cevap, @Mitesh Vanaliya'nın belgelerden alıntı yaptığı şeydir, ** Tüm konum talepleri ipucu kabul edilir ve daha az/çok doğru olan ve talep edilenden daha hızlı/daha yavaş olan yerler alabilirsiniz. Ya da, "Bize ne istediğinizi söyleyebilirsiniz, ve biz bazen bunu yapacağız, ama sonunda ne yapacağımızı ve ne zaman yapacağız" " – Gary99
Google'ın önerdiği" FusedLocationApi "yi kullanmak istemiyorsanız, Kendiniz için daha fazla kontrol elde etmek için eski LocationManager'ı kullanabilir. [Here] (https://developer.android.com/guide/topics/location/strategies.html) bunun nasıl yapılacağı hakkında bazı bilgiler. – Gary99
“LocationListener” için gitmek istemedim çünkü uygulama sonlandırıldığında sonlandırılacak. Uygulama sonlandırılsa bile yer güncellemelerini almak istiyorum, bu yüzden de "FusedLocationProviderClient" adlı kullanıcının requestLocationUpdates'inin "PendingIntent" sürümü için gittim. _setInterval_ konumundaki konumlar _setMinimumDisplacement_'a göre daha doğru olduğundan, 'setInterval'tan aldığım güncellemeler' setMinimumDisplacement''dan çok daha iyi. – Joshua