2011-04-25 88 views
2

我要繼續監聽,即使我的應用程序銷燬(或關閉)位置更新,我一定要運行這個服務?除了described here以外,連續位置更新的最佳做法是什麼。安卓:繼續收聽位置更新

+0

那麼,你可能想要做,結果什麼東西?當位置發生變化時,你想要做什麼?將它存儲在某個地方?開始一個意圖? – EboMike 2011-04-25 22:46:35

+0

可能使用http文章將其發送到服務器。 – Jimmy 2011-04-25 22:49:46

+0

然後你需要一個服務,你需要一個WAKE_LOCK。我應該提到,這將是一個巨大的電池消耗。 – EboMike 2011-04-25 23:02:50

回答

3

如果您的應用程序由OS破壞,那麼它不會做任何事情。 活動服務可以根據需要既可以由OS死亡。此外,除非你要求WAKE_LOCK你不會,如果手機進入睡眠要麼得到更新。

話雖如此,是的,你想要創建一個Service實施locationListener並適當迴應onLocationChanged()。這樣,應用程序仍然會在後臺收到更新。如果應用程序沒有通過廣播運行 公共無效addProximityAlert(雙緯,雙經度,浮動範圍,長時間的使用期限,的PendingIntent意圖)

意圖將甚至被解僱:

0

是使用的服務是您的應用程序被破壞後,持續監控位置的唯一安全的方法。將位置信息保存到SQLite數據庫或平面文件以便讀取位置信息可能是有益的,因爲綁定到服務可能需要一些時間。

2

更妙的是你可以用這個。通過廣播啓動一個serviceintent來運行你的代碼。該服務完成後將會死亡。