2011-08-12 115 views
0

我有这个简单的疑问。
手机正在获取位置更新时,我必须显示进度对话框。
我是否需要在单独的线程中执行此操作,或者getLastKnownLocation是否已经在单独的线程中运行。
如果它不能任何人请发表一个小的示例代码,最有效的方法来做到这一点?
我经历了android api源代码,并没有成功找出工作。does getlastknownlocation是否在单独的线程中运行?

回答

0

getLastKnownLocation同步运行,它实际上并没有得到当前位置(这是你可能想要的)。下面是文档:http://developer.android.com/reference/android/location/LocationManager.html#getLastKnownLocation%28java.lang.String%29

亮点:

返回一个位置指示从给定的提供商处获得的最后已知位置 修复数据。这可以在没有 启动提供程序的情况下完成。请注意,如果设备已关闭并移动到另一个 位置,则该位置可能已过时,例如 。

如果提供者当前被禁用,则返回null。

你可能想什么东西沿着这一问题的线条更:displaying progress dialog at the start of a gps application

+0

谢谢您的回答。但是,您建议的链接每10秒钟请求位置更新。我只想要一个位置的更新。这就是我使用getLastKnownLocation的原因。有一个更好的方法吗?通过请求位置更新超过要求,我不必使用大部分用户的电池。 – Brahadeesh

+1

@Brahadeesh你也可以[requestSingleUpdate](http://developer.android.com/reference/android/location/LocationManager.html#requestSingleUpdate%28java.lang.String,%20android.app.PendingIntent%29)。 – Kiril

+0

requestSingleUpdate是同步还是异步运行? – Brahadeesh

相关问题