【问题标题】:Android-Best way to check how old lastKnownLocation isAndroid-检查 lastKnownLocation 有多旧的最佳方法
【发布时间】:2012-01-26 07:05:59
【问题描述】:

在一个应用程序中,我正在使用不同位置侦听器的退避模式,这工作得很好,但在位置不可用的情况下,我允许应用程序默认为 lastknownlocation,有时应用程序只会使用这个和不更新其位置。如何查看 lastKnownLocation 的更新时间

【问题讨论】:

    标签: android google-maps location


    【解决方案1】:

    您应该简单地在您获得的任何位置调用getTime(),例如在您从LocationManager.getLastKnownLocation() 获得的位置。然后计算该数据的年龄是微不足道的。

    【讨论】:

    • 您的解决方案听起来要容易得多,因为我不必保存位置和时间,我可以确定 lastKnownLocation 是否超过这么多分钟 :) 谢谢
    • 是的,另外:如果最后一次修复发生在您的应用程序启动之前,它也可以工作。
    【解决方案2】:

    在 LocationListener 中,onLocationChanged() 将在从给定的位置提供程序更新位置时被调用,你知道这一点。因此,仅在此方法中,取当前时间并保存。您可以在您的应用中将其与当前时间进行比较,以了解最近的已知位置当前是否已更新。

    要获取当前日期和时间,请使用以下代码

    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    String dateTime = sdf.format(Calendar.getInstance().getTime());
    

    如果你只想要没有日期的时间,你可以从字符串中提取。

    【讨论】:

    • 嘿,谢谢 :) 我不确定 locationmanager 或 locationlistener 是否有一些方法可以做我想做的事,但我会试试这个并回复:)
    • @Yugandhar Babu:要获得Date 的部分,您只需使用Calendar。 - 绝对不需要构建字符串并从中提取任何内容。
    猜你喜欢
    • 1970-01-01
    • 2020-01-07
    • 2014-01-14
    • 1970-01-01
    • 2011-01-04
    • 2020-04-13
    • 1970-01-01
    • 1970-01-01
    • 2010-10-12
    相关资源
    最近更新 更多