1

的是這兩者之間的區別:與不同的上下文共享偏好

SharedPreferences prefs = getDefaultSharedPreferences(Application context); 

SharedPreferences prefs = getDefaultSharedPreferences(Activity context); 

我很困惑要使用哪一個我想要的首選項靜態的,這樣我可以使用?它在我的應用程序中無處不在,它可以嗎?

回答

4

在這種情況下,它應該沒有關係。

如果你看the source code那麼你會看到你傳入的上下文用來爲你的偏好設置一個名字。這通過呼叫context.getPackageName()完成。所以只要兩個上下文都返回相同的包名(並且它對應用中的任何上下文都應該是相同的),那麼使用這兩個包就沒有區別。