2012-06-29 132 views
5

我讀過關於閱讀共享首選項的問題:thisthis。但是他們仍然需要Context來訪問SharedPreferences。我想知道如何在沒有上下文的情況下訪問SharedPreferences。在此先感謝訪問沒有上下文的SharedPreferences

+3

只需_can't_,但只要你的應用程序運行有一個_Application Context_可用於... –

+0

你不能。它需要一個上下文。 – Guardanis

+0

如果你能詳細說明你爲什麼需要這種方式,也許我們可以幫助你更多。 – Erol

回答

5

我解決我的問題,首先檢索ApplicationContext(this),然後使用該上下文來獲取SharedPreferences。感謝K-ballo。

0

應用類別:

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

} 

聲明中AndroidManifest應用程序:

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

用法:

PreferenceManager.getDefaultSharedPreferences(MyApplication.getAppContext());