我看了this discussion,但仍有疑问。
如果我使用getDefaultSharedPreferences(getApplicationContext())
和getDefaultSharedPreferences(SomeActivity.this)
,是否保证提供相同的结果(相同的xml首选项文件访问权限)?
答案 0 :(得分:1)
答案 1 :(得分:0)
祝你新年快乐 - 2014
两者都表现得相同!!
View.getContext():返回视图当前运行的上下文。通常是当前活动的Activity。
Activity.getApplicationContext():返回整个应用程序的上下文(所有活动在其中运行的进程)。如果您需要与整个应用程序的生命周期相关联的上下文,而不仅仅是当前的Activity,请使用此代替当前的Activity上下文。
ContextWrapper.getBaseContext():如果需要从另一个上下文中访问Context,则使用ContextWrapper。 Context从内部引用ContextWrapper是通过getBaseContext()访问的。
请注意幕后
getDefaultSharedPreferences(context)
呼叫
getSharedPreferences(context.getPackageName(), MODE_PRIVATE)
据我所知:Context是基础对象。因此,与Application相同的每个Activity都来自Context。这意味着每个Activity和每个Application都是一个Context; 希望你现在理解这些东西,这样我们就可以说它们会产生同样的行为。
请参阅http://developer.android.com/reference/android/app/Activity.html 和 http://developer.android.com/reference/android/content/Context.html