[英]Android location listener in Application background
我想在我的應用程序中實現一個位置偵聽器,它會在后台運行,即使應用程序關閉也是如此。 我發現了很多實現位置偵聽器的結果,但我仍然感到困惑。
我的用例是以所有可能的方式獲取位置,無論是 GPS、網絡提供商還是任何其他方式。 該應用程序需要在后台定期更新位置
我找到了一個類似於下面的示例來獲取精確位置:
LocationManager lm = getSystemService(Context.LOCATION_SERVICE);
LocationListener ll = new mylocationlistener();
lm.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, ll);
以下鏈接中的更多示例:
https://zgrepcode.com/examples/android/android/location/locationmanager-implementations
這不能很准確地工作,偵聽器沒有在后台服務中工作。
那么這是在后台獲取位置的最佳方式嗎? 我發現的大多數帖子看起來都很舊,我們是否有更好的方法在較新的 API 中實現后台位置偵聽器?
我在 StackOverflow 上搜索了相同但沒有找到任何相關帖子,如果有回答相同問題的帖子,請分享鏈接。 或者讓我知道實現它的最佳方法是什么。
提前致謝 :-)
應用每小時只能接收幾次位置更新。 Google對於此信息非常保護。 主動GPS也會消耗大量電池,因此,如果手動完成操作,則AGPS可能是更好的選擇。
每小時僅向幾次后台應用提供位置更新。
一個應用程序被認為是在前台 ,如果以下任一為真 :
如果所有這些條件都不成立,則認為該應用程序處於后台。
考慮使用FusedLocationProviderClient
,但是它依賴於Google Play服務 。 這是最好的選擇。 您可以在這里了解更多信息
我使用Jobscheduler制作了一個應用程序。 工作正常。 但是,當其他應用程序(例如)導航sw正在使用位置管理器時,就會發生沖突。 我現在正在尋找解決方案。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.