2011-04-23 69 views
0

我正在寫一個Android應用程序使用GPS位置提供程序在創建主活動時啓動的服務(除非服務已在運行)。我的印象是服務會繼續運行,除非任務管理器在內存不足的情況下可能會殺死它。出於某種原因,如果存在活動時間非常短的時間段,則服務會重新啓動,而不管可用內存的數量有多少。當用戶在室外並且GPS能夠解析某個位置時,該服務將每隔30秒獲得一個位置並關閉兩者之間的GPS(以節省電池)。在這種情況下,服務繼續運行,沒有任何問題,但是當用戶移動內部並且在5秒內無法找到GPS位置時,服務關閉GPS,並且每200秒只會重新激活GPS,以檢查用戶已移回戶外。在這種情況下,服務有時會被停止並且不會重新啓動,直到應用程序重新打開並且該活動重新啓動服務。我創建了一個單獨的服務來確保該過程不中斷。有誰知道爲什麼會發生這種情況?非常感謝你的幫助! -dom服務停止幾分鐘的無活動後

+0

你有沒有正確設置你的喚醒鎖? – nickfox 2011-04-23 20:32:50

+0

什麼是喚醒鎖?對不起,我是一種小菜 – GPSmaster 2011-04-23 20:33:35

+0

所以在我的情況下PARTIAL_WAKE_LOCK會做? – GPSmaster 2011-04-23 20:37:59

回答

1

我會看看馬克·墨菲的例子,與服務和Wakelocks涉及:,那麼你要得到他的

WakefulIntentService

如果你不能從他的代碼示例看着辦吧高級Android書詳細解釋了問題。

The Busy Coder's Guide to Advanced Android Development

這些都是一些關於Android開發的,也是值得的最低成本,最好的書。

+0

謝謝!我想我需要研究更多關於待定意圖和應用程序上下文的知識,以瞭解這是什麼。 – GPSmaster 2011-04-24 04:07:50