2012-07-07 34 views
5

我正在嘗試訪問服務中的共享首選項。我已經使用以下內容來將文本的值保存爲字符串...從服務獲取SharedPreferences

SharedPreferences sharedPreferences = getPreferences(MODE_PRIVATE); 
SharedPreferences.Editor editor = sharedPreferences.edit(); 
editor.putString("Ignore1_value", Example.getText().toString()); 
editor.commit(); 

但是,如何獲取服務中的值?我所嘗試過的每件事物都沒有回報。任何幫助將是完美的,非常感激?

我看了其他一些問題,也沒有解決方案。我已經提出了這個問題,但就像我說的那樣,它將它作爲文本返回。

Context ctx = getApplicationContext(); 
    SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(ctx); 
    String example1string = sharedPreferences.getString("Ignore1_value",""); 
    Log.i("**GetSettings", example1string); 
+0

嘗試'SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(youActivity.this);'當要保存的值.. – 2012-07-07 18:30:09

回答

5

我總是用PreferenceManager.getDefaultSharedPreferences(context)。這與您的應用中的所有Context相同。

一個ServiceContext本身,所以這個就足夠了:

PreferenceManager.getDefaultSharedPreferences(this); 
+0

完美!這是完美的,它完全合理! – user1190019 2012-07-07 20:28:52

+1

它不適用於摩托羅拉xoom,我試過兩種方法。 – MobileEvangelist 2012-12-06 16:22:51