0

stackoverflow社區。Android:使用服務更改封閉應用程序的變量(計數器)

我有我一直在努力,因爲前幾天解決的一個問題。

我在接收和發送消息的Android應用程序運行的服務。對於這些消息,我有櫃檯可以節省發送和接收的短信和錯誤的數量。例如,發送郵件時,計數器會添加+1並在屏幕上顯示總數(在不可調焦的編輯視圖中)。

另一件事我做的是我的綁定服務,所以我可以根據我的需要切換或關閉。 當應用程序正在運行時,一切正常,但如果完成,我的變量將丟失,但我需要不斷地對消息進行計數,並在用戶再次打開應用程序時顯示值。我怎樣才能做到這一點?

我一直在使用共享偏好變量被保存這些數字和其他服務器的配置,但是當應用程序被殺害,這些數字不能繼續增加。

當應用程序關閉時,我可以將計數器值保存在某處嗎?我可以在應用程序關閉的情況下訪問服務中的共享偏好設置嗎?如果我使用內容提供商怎麼辦?即使應用已關閉,我是否可以從正在運行的服務訪問它?

問候。

回答

0

從服務訪問共享首選項沒有問題。所以,只需要將你的變量保存在你的服務onDestroy()方法上並重載它們onCreate();

這應該得到的喜好:

Context ctx = getApplicationContext(); 
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(ctx); 

這裏有一個很好的答案:How do I get the SharedPreferences from a PreferenceActivity in Android?

+0

謝謝回答,hatcyl。現在的情況是,如果我終止運行應用程序的進程,每個變量(包括共享首選項)都會死掉。那麼,我可以在哪裏增加我需要稍後在用戶屏幕上刷新它的計數器? – user1513548 2012-07-10 14:06:17

+0

我解決了它讀取您分享的鏈接和文檔。謝謝。 – user1513548 2012-07-10 17:52:45

相關問題