我試圖找到關於此問題的解釋,但找不到任何東西。活動和服務之間的偏好
我有一個在後臺工作的遠程服務。該服務從SharedPreference中讀取一些首選項。
我從PreferenceActivity(活動和服務屬於相同的應用程序和相同的包)更改首選項時發生問題。我更改了首選項並將其正確保存,但只要服務讀取該首選項(服務從不修改首選項,它只會修改某些不能從PreferenceActivity修改的內部首選項),首選項將被「重置」,並且服務獲取重置的值。
CheckBoxPreference發生這種情況。我不知道這是否會出現其他類型的偏好,因爲我沒有任何其他偏好。
當我更改首選項後,我應該重新啓動服務?或者我需要「刷新」服務中的偏好設置?也許這是與使用HoloEverywhere相關的問題?
爲了得到我用下面的代碼SharedPreference對象:
PreferenceManager.wrap(context, getSharedPreferencesName(context), Context.MODE_MULTI_PROCESS);
此代碼是特定於HoloEverywhere,它等於這個:
context.getSharedPreferences(getSharedPreferencesName(上下文),Context.MODE_MULTI_PROCESS) ;
'getSharedPreferencesName()'只返回由「package.name_preferences」組成的字符串。
謝謝。
我需要使用遠程服務,因爲此服務必須在後臺監聽新照相機的照片並自動上傳。感謝您的回覆。 –