2012-06-29 20 views
5

He leído la pregunta: this y this sobre la lectura de preferencias compartidas. Pero aún necesitan Contexto para acceder a SharedPreferences. Quiero saber cómo acceder a SharedPreferences sin contexto. Gracias de antemanoAcceso a SharedPreferences sin contexto

+3

Simplemente _can't_, pero siempre y cuando su aplicación se está ejecutando hay un _Contexto de aplicación_ disponible para ser utilizado ... –

+0

No puede. Necesita un contexto. – Guardanis

+0

Si puede explicar por qué lo necesita de esa manera, tal vez podamos ayudarlo más con eso. – Erol

Respuesta

5

Resuelvo mi problema recuperando ApplicationContext primero (this) y luego uso ese contexto para obtener SharedPreferences. gracias K-ballo.

0

clase de aplicación:

import android.app.Application; 
import android.content.Context; 

public class MyApplication extends Application { 

    private static Context mContext; 

    public void onCreate() { 
     super.onCreate(); 
     mContext = getApplicationContext(); 
    } 

    public static Context getAppContext() { 
     return mContext; 
    } 

} 

declare el recurso en el AndroidManifest:

<application android:name=".MyApplication" 
    ... 
/> 

Uso:

PreferenceManager.getDefaultSharedPreferences(MyApplication.getAppContext());