2011-08-09 32 views
2

有沒有辦法在Android中以某種方式使用GPS來確定用戶是否在駕駛(例如,如果用戶移動得更快然後說10英里/小時)?甚至更好的是,如果我有能力接收到用戶每小時10英里或10英里以下的速度,但我認爲我正在推動這項運動。確定用戶是否使用GPS駕駛

任何幫助,將不勝感激。

+0

以> 10mph的速度移動並不一定意味着用戶正在駕駛。他們可能坐在乘客的座位上,或乘坐公共汽車,火車,飛機,過山車,自行車,有軌電車等。 – Caleb

+1

@Caleb - 真的,如果他們開車,騎自行車或其他什麼都沒關係。我只是希望能夠檢測到人員的行駛速度是否在10英里/小時以上。無論他們如何快速移動,我所製作的節目仍然適用。 – Icemanind

+1

爲什麼回答他的問題......他一直問他們,但自7月22日以來一直沒有接受答案。 – Earl

回答

0

您可能想要設置一些帶有回調函數的AsyncTask(後臺線程),該回調函數將在速度超過10 MPH時調用。您可以使用Location.GetSpeed()功能。

此外,您可能要注意它以米/秒爲單位返回的事實。但這是一個微不足道的轉換。

+2

我試圖將其實現爲背景服務。如果我持續查詢速度,它會耗盡電池嗎?如果是這樣,我該如何解決這個問題? – Icemanind

+0

有一個後臺線程會繼續調用GetSpeed()函數,會使電池耗盡。在調用GetSpeed()之後,我會做的是在線程上調用wait()方法X秒的時間,該時間與(targetSpeed - currentSpeed)的方式成比例,假設需要時間來改變速度。這可能是一個更好的方法來做到這一點。 –

相關問題