2012-07-21 145 views
0

我正在創建一個應用程序,該應用程序必須連續運行,直到用戶單擊停止按鈕。該服務所做的是,如果通過使用GPS獲取當前的經緯度並上傳到服務器。但是,當我保持應用程序長時間運行時,服務停止上傳數據。任何人都可以告訴我如何讓服務持續運行,直到用戶按下停止按鈕?請給我一個這個問題的解決方案。停止應用程序運行一段時間後Android服務停止

謝謝。

回答

0

您有興趣使您的服務STICKY。

當Android的內存不足時,它將停止您的服務,以便它可以繼續工作。如果您將粘性標誌設置爲您的服務,則只要有足夠的資源可用,就會重新創建該服務。

你讓一個服務粘稠像:

public class YourService extends Service { 

    @Override 
    public int onStartCommand(Intent intent, int flags, int startId) { 
     // We want this service to continue running until it is explicitly 
     // stopped, so return sticky. 
     return START_STICKY; 
    } 
... 
} 
0

我有同樣的要求工作,這裏是解決我使用,

類:AlarmManager & TimerTask

邏輯,

  1. 創建一個TimerTask類定期在服務器上上傳您的GPS座標。
  2. 創建一個AlarmManager類,在特定的時間間隔(在我的情況下爲30分鐘)停止並啓動GPS和TimerTask。

這個作品很有魅力。