FusedLocationProvider 位置更新的单独类或服务?
Posted
技术标签:
【中文标题】FusedLocationProvider 位置更新的单独类或服务?【英文标题】:Separate class or Service for FusedLocationProvider Location updates? 【发布时间】:2018-11-12 07:26:36 【问题描述】:我目前有一个名为 LocationCheck 的类。
public class SpeedCheck
这里每 3 秒检索一次位置,并且一直持续到用户停止它为止。要开始检查位置,请在 Main Activity 中调用该类:
startLoc = new LocationCheck(this);
我想知道的是代码是否需要在服务类中,而不仅仅是一个普通类(就像现在一样)。到目前为止它没有问题,但我可能误解了服务等的概念,并且可能没有意识到它在很长一段时间内检查时可能面临的问题(对于 android 开发人员来说相当新)。
我已查看后台服务以获取位置更新,但使用 FusedLocationProvider(我正在使用)只能接收 several updates over an hour。这不会有帮助,因为我需要每 3 秒更新一次。
任何建议将不胜感激。
【问题讨论】:
【参考方案1】:如果您需要在后台继续检查位置,请使用服务,否则您可以简单地在活动中使用它。当您不再需要该服务时,只需将其停止即可,因为如果在后台运行,它会消耗更多电量。
【讨论】:
阅读 FusedLocationProvider 的文档后发现,在后台服务中,“位置每小时仅更新几次”。那么最好使用前台服务吗? 这取决于您要达到的目标。如果您始终需要准确的位置,请使用前台服务。 感谢 jatlin,将其全部放入前台运行的服务中,一切正常。以上是关于FusedLocationProvider 位置更新的单独类或服务?的主要内容,如果未能解决你的问题,请参考以下文章
FusedLocationProvider 位置更新的单独类或服务?
Android:FusedLocationProvider,每隔几秒获取一次位置
从 FusedLocationProvider(Google Play 服务)获取位置不会给出低于 10 米的准确度
FusedLocationProvider 始终返回 null Location 对象
使用 Google Play 服务我可以在离线模式下获取最新位置吗(FusedLocationProvider Api)