【发布时间】:2012-01-26 07:05:59
【问题描述】:
在一个应用程序中,我正在使用不同位置侦听器的退避模式,这工作得很好,但在位置不可用的情况下,我允许应用程序默认为 lastknownlocation,有时应用程序只会使用这个和不更新其位置。如何查看 lastKnownLocation 的更新时间
【问题讨论】:
标签: android google-maps location
在一个应用程序中,我正在使用不同位置侦听器的退避模式,这工作得很好,但在位置不可用的情况下,我允许应用程序默认为 lastknownlocation,有时应用程序只会使用这个和不更新其位置。如何查看 lastKnownLocation 的更新时间
【问题讨论】:
标签: android google-maps location
您应该简单地在您获得的任何位置调用getTime(),例如在您从LocationManager.getLastKnownLocation() 获得的位置。然后计算该数据的年龄是微不足道的。
【讨论】:
在 LocationListener 中,onLocationChanged() 将在从给定的位置提供程序更新位置时被调用,你知道这一点。因此,仅在此方法中,取当前时间并保存。您可以在您的应用中将其与当前时间进行比较,以了解最近的已知位置当前是否已更新。
要获取当前日期和时间,请使用以下代码
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String dateTime = sdf.format(Calendar.getInstance().getTime());
如果你只想要没有日期的时间,你可以从字符串中提取。
【讨论】:
Date 的部分,您只需使用Calendar。 - 绝对不需要构建字符串并从中提取任何内容。