[英]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.