2012-07-07 71 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