2015-09-26 90 views
0

所以有很多談論獲取設備的位置。我的需求非常特別,我想知道是否有確切的答案。獲取設備位置的OnDemand

  • 我不想跟蹤用戶。
  • 有一個在我的應用程序的特定活動,需要的位置。因此,當用戶採取特定的操作時,我需要獲取設備的位置。
  • 我需要的位置獲取發生非常快
  • 我想精確位置。

Android的例子似乎是約粗略的位置只有https://developer.android.com/training/location/retrieve-current.html

而這裏的答案似乎是有關跟蹤用戶。

對於我的應用程序,有問題的行爲是不是在所有常見(也許一次或每週兩次),但是當用戶要使用該功能,我需要最好的當前位置。

所以我跟蹤用戶唯一的解決辦法?

+0

這是我的一些幫助http://www.andygup.net/how-accurate-is-android-gps-part-2-consuming-real-time-locations/ – Rob85

回答

1

的文檔,你鏈接指定:

您選擇的權限確定由API返回的位置精度

後來

位置的精度返回通過此調用取決於您放入應用清單中的權限設置,如本文檔的指定應用權限部分所述。

所以,如果你添加<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>那麼你會得到很好的位置。

這就是說,有可能你不會得到位置,因爲沒有用戶的最後一個位置(例如很久以前它已被檢索到)。

getLastLocation()方法返回一個Location對象(...)。在位置不可用的極少數情況下,返回的位置對象可能爲空。

那麼你就只需要啓動跟蹤用戶的位置,按照documentation,但你第一次更新後,您可以立即停止跟蹤並釋放資源。這將給你的位置幾乎肯定(如果可用),但可能不是馬上。