2013-08-29 99 views
0

我對Android開發很新穎。我有一個應用程序,記錄用戶在工作多久,並顯示他們賺了多少。它完美的工作,直到Android殺死該活動。有沒有辦法來防止這種情況?我已經讀了一些關於服務的內容,但我不確定自己是否需要甚至如何使用它們。任何幫助都是極好的。感謝您的時間。 (編輯)這是我的clockIn()方法。它在用戶按下按鈕中的時鐘時被調用。如何防止Android殺死我的活動。服務可能嗎?

public void clockIn(){ 
    start = System.currentTimeMillis(); 
    mTimer = new Timer(); 
    mTimer.scheduleAtFixedRate(new TimerTask() { 


     @Override 
     public void run() { 
      now = System.currentTimeMillis(); 
      seconds = date.getSeconds(); 
      elapsedTime = now - start; 
      earnings = (wageHour/60/60/1000)*elapsedTime; 
      runOnUiThread(new Runnable() { 
       public void run() { 

        timeDisplay.setText("$" + String.format("%.4f", earnings)); 


       } 
      }); 

      } 
     }, 0, 100); 
} 
+1

是的,只需使用一項服務! –

回答

2

你是如何跟蹤時間的?跟蹤時間的最簡單方法是將時間戳保存在數據庫表中。例如簽入/結帳時間。殺死的活動應該沒有問題。

+0

那麼該應用程序更新用戶實時獲得多少,所以我一直在使用Timer()類。每個框架顯示了多少時間已經進展以及用戶的當前收入。 –

+1

好的,但你仍然可以用時間戳做到這一點。只需每隔一秒鐘就更新一次gui,並注意checkin時間和現在的不同。 - 服務也可以工作,但請記住,每個後臺操作都會消耗電池電量。即使顯示屏關閉或活動未加載。我不知道這會是一個定時器多少... – electrofant

+0

mTimer = new Timer(); mTimer.scheduleAtFixedRate(新的TimerTask())我一直在使用它來調用我的更新。你有沒有更好的方法? –

相關問題