【问题标题】:Stop background service when there is not required to send location [duplicate]不需要发送位置时停止后台服务[重复]
【发布时间】:2018-07-03 12:45:07
【问题描述】:

即使应用程序在后台,我也想发送位置,以跟踪

司机位置,但必须在出租车到达时停止。

Intent svc = new Intent(this, BackgroundSoundServi.class);
startService(svc);

【问题讨论】:

  • 那么当出租车到达位置时你会触发什么API?
  • 你能解释一下你的问题吗!为后台服务等添加代码以及您遇到问题的确切位置
  • when there is not required to send location - 你怎么知道没有要求?什么条件?
  • 问题完全不清楚。无论如何,您可以检查This thread 以停止正在运行的服务。
  • 好吧,我可能会在火车到达时收到通知让我们假设如果我在 5 公里范围内,我会在将我的位置发送到服务器时收到通知,如果我从在这 5 公里范围内,我的服务会自动停止,如果我在此范围内移动,我的服务会自动开始将我的坐标发送到服务器。

标签: android


【解决方案1】:

您应该创建一个GeoPoints 列表,其中出租车可以被视为“到达”。在您的ServiceonLocationChange() 方法中放置一个方法,该方法检查驾驶室当前位置和目的地点的距离,当距离小于给定半径时,您可以关闭服务。例如100米。但是,如果您希望服务在离开时自动开始发送位置,那么您不应该关闭该服务,而只是停止发送位置。该服务应始终检查出租车到目的地的位置。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-03-03
    • 2020-08-09
    • 2021-06-11
    • 1970-01-01
    • 2014-03-04
    • 2011-09-05
    • 2022-01-10
    • 2012-06-25
    相关资源
    最近更新 更多