Android getPreferences()对GetSharedReferences()使用的类名的引用

Android getPreferences()对GetSharedReferences()使用的类名的引用,android,android-preferences,Android,Android Preferences,我试图使用对话框中的首选项,但遇到了一些困难。我的应用程序的其余部分只使用了getPreferences()对话框,似乎没有任何问题。但是,对话框不能调用getPreferences(),并且由于某些原因,我无法访问基本活动。但我找到了一个解决方案,但我需要一个快速的答案 SDK声明“这只是通过传入此活动的类名作为首选项名称来调用底层的getSharedReferences(String,int)方法。”。如果我能得到活动的类名。我可以访问上下文,其中包括。这里有各种各样的名字。我的问题是,来自

我试图使用对话框中的首选项,但遇到了一些困难。我的应用程序的其余部分只使用了
getPreferences()
对话框,似乎没有任何问题。但是,对话框不能调用
getPreferences()
,并且由于某些原因,我无法访问基本活动。但我找到了一个解决方案,但我需要一个快速的答案


SDK声明“这只是通过传入此活动的类名作为首选项名称来调用底层的
getSharedReferences(String,int)
方法。”。如果我能得到活动的类名。我可以访问上下文,其中包括。这里有各种各样的名字。我的问题是,来自
getApplicationInfo()
的名称是否与
getPreferences()
传递给
getSharedReferences()
作为类名的值相同?

我最终做的是将其作为应用程序名:

getBaseContext().getApplicationInfo().packageName

上下文几乎是通用的,并且这个名称对于程序中的所有类都应该是一致的。

更好的是,现在我使用它们的方式是:

final SharedPreferences prefs = android.preference.PreferenceManager.getDefaultSharedPreferences(mContext);
这将获得正确的首选项,而无需执行任何复杂的操作