【问题标题】:Separate class or Service for FusedLocationProvider Location updates?FusedLocationProvider 位置更新的单独类或服务?
【发布时间】: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 秒更新一次。

任何建议将不胜感激。

【问题讨论】:

    标签: android android-gps background-service android-fusedlocation foreground-service


    【解决方案1】:

    如果您需要在后台继续检查位置,请使用服务,否则您可以简单地在活动中使用它。当您不再需要该服务时,只需将其停止即可,因为如果在后台运行,它会消耗更多电量。

    【讨论】:

    • 阅读 FusedLocationProvider 的文档后发现,在后台服务中,“位置每小时仅更新几次”。那么最好使用前台服务吗?
    • 这取决于您要达到的目标。如果您始终需要准确的位置,请使用前台服务。
    • 感谢 jatlin,将其全部放入前台运行的服务中,一切正常。
    猜你喜欢
    • 2012-03-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-24
    • 1970-01-01
    • 2023-03-03
    • 2012-11-21
    相关资源
    最近更新 更多