2012-07-07 41 views
5

Estoy intentando acceder a las preferencias compartidas de un servicio. He utilizado lo siguiente para guardar el valor del texto en una cadena ...obtener SharedPreferences de un servicio

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

Pero, ¿cómo obtendría el valor de un servicio? Todo lo que he intentado vuelve como nada. ¿Alguna ayuda sería perfecta y muy apreciada?

Revisé algunas otras preguntas sin solución. Se me ocurrió esto, pero como dije, lo devuelve como si no hubiera texto.

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

intento 'SharedPreferences SharedPreferences = PreferenceManager.getDefaultSharedPreferences (youActivity.this);' cuando desee guardar el valor .. –

Respuesta

5

Siempre estoy usando PreferenceManager.getDefaultSharedPreferences(context). Esto es lo mismo para todos los Context s en su aplicación.

Un Service es una Context sí mismo, así que esto sería suficiente:

PreferenceManager.getDefaultSharedPreferences(this); 
+0

perfecto! Eso funciona perfectamente y tiene mucho sentido! – user1190019

+1

No funciona en motorola xoom, lo intenté en ambos sentidos. – MobileEvangelist

Cuestiones relacionadas