2012-06-29 46 views
5

Ich habe die Frage gelesen: this und this über das Lesen freigegebener Einstellungen. Sie benötigen jedoch weiterhin Kontext, um auf SharedPreferences zuzugreifen. Ich möchte wissen, wie SharedPreferences ohne Kontext zugreifen können. Vielen Dank im VorausZugriff auf SharedPreferences ohne Kontext

+3

Sie einfach _can't_, aber solange die Anwendung ausgeführt wird Es gibt einen _Application Context_ zur Verwendung ... –

+0

Sie können nicht. Es braucht einen Kontext. – Guardanis

+0

Wenn Sie näher erläutern können, warum Sie es so brauchen, können wir Ihnen vielleicht mehr dabei helfen. – Erol

Antwort

5

Ich löse mein Problem, indem ich ApplicationContext zuerst (this) abrufe und dann diesen Kontext verwende, um SharedPreferences zu erhalten. Danke K-Ballo.

0

Anwendungsklasse:

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; 
    } 

} 

Deklarieren Sie die Anwendung in der AndroidManifest:

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

Verbrauch:

PreferenceManager.getDefaultSharedPreferences(MyApplication.getAppContext()); 
Verwandte Themen