【问题标题】:onGpsStatusChanged alternatives?onGpsStatusChanged 替代品?
【发布时间】:2014-09-19 02:46:53
【问题描述】:

最近发布了一个关于为什么我的 onGpsStatusChanged 只被调用一次而不再被调用的问题,没有得到任何答案,所以会假设解决方案是未知的(已经尝试了 2 天),所以也许有任何替代解决方案来检测 GPS 信号丢失并且没有可用的位置更新?

我在后台服务中运行 LocationListener。

我需要检测用户何时丢失 GPS -> 启动 alarmManager 5 分钟以及 GPS 是否再次在线 -> 取消警报。

我在检测 gps 是否丢失时遇到的唯一问题。

【问题讨论】:

    标签: android gps google-maps-android-api-2 locationlistener


    【解决方案1】:

    丢失 GPS 仅意味着您将不再收到位置更新。 那么,为什么不在收到的每个位置更新时再次设置警报。 AlarmManager 的 set-Methods 会自动取消先前使用相同 PendingIntent 设置的警报。因此,您将始终只设置一个警报。一旦超过 5 分钟没有收到新的位置,您的警报就会被执行。

    可能每秒钟重新设置一次警报太昂贵了(我不知道)。在这种情况下,添加一个计数器,它仅在每第 n 次位置更新时重置 AlarmManager。这个想法还是一样的。

    【讨论】:

    • 所以你是说如果我在 OnLocationChanged() 中设置警报,它会成功吗?
    • 由于我不详细了解您的编码,我只能猜测。但是,是的,如果您每次调用 GPS LocationListener 的 onLocationChanged 时都使用相同的 PendingIntent 设置警报,那么它应该完全按照您的意愿行事。当您的应用程序完成时,不要忘记取消警报。
    猜你喜欢
    • 1970-01-01
    • 2014-04-29
    • 2011-06-10
    • 2014-04-18
    • 2012-04-08
    • 2012-07-09
    • 2011-03-31
    • 2023-03-12
    • 2017-02-26
    相关资源
    最近更新 更多