2011-06-22 67 views
0

我寫了一個小應用程序,它有一個活動來控制和顯示 數據,以及一個服務,它從GPS獲取數據並將其發送到 活動。 之所以這樣,是我喜歡的活動是 結束,也該運行..locationListener只在服務請求時被調用

我周圍的工作,我在我的位置監聽器的最後刪除 監聽器並重新定義它..

lm.removeUpdates(locationListener); 
    lm.requestLocationUpdates(LocationManager.GPS_PROVIDER, 5000, iGPSMovement, locationListener); 

,但它是不是很好,現在它在我的HTC Desire Z的失敗..

已someoen遇到這個? 什麼是工作?

我寫了一個小的應用程序(一個活動)不使用服務和 正常工作與requestLocationChange只叫在的onCreate ..

請幫 金

+1

你可以發佈你的服務代碼嗎? – ddewaele

+0

謝謝,我已經完成了一個全新的代碼,並正在通過它,我相信這是我的服務監聽器功能,正在演奏..我會更新你,當我得到Finist測試.. –

+0

好,所以我試圖重寫一個超級簡單的服務和活動,並使用一個廣播接收器,並像一個迷人的工作.. –

回答

0

行,所以我試着重寫一個超級簡單的服務和活動,並使用一個broatcast接收器,並像一個魅力工作.. 因此,我轉換我的應用程序,它仍然無法正常工作...但我發現米運動必須爲0請求工作在我的願望上......這是奇怪還是什麼?反正解決了我的問題..

lm.requestLocationUpdates(LocationManager.GPS_PROVIDER, 1000, 0, locationListener);

就是我結束了和接縫解決一切,無論我如何溝通,服務和活動之間..

2

不知道這事了,但是你必須將距離設置爲0的原因在於,這是裝置必須移動的最小距離才能使線程觸發。因此,如果手機坐在您的桌面上,並且在節目開始時距離它所佔據的位置至少有X距離時,您將無法獲得更新。通過將其設置爲0,無論移動的距離如何,您都會強制程序以最短時間間隔進行更新。我很確定只要滿足最低條件,它就可以工作。即它已經超過5秒,你已經移動了10米。

相關問題