getPreferences()引用getSharedPreferences()使用的类名

时间:2012-03-10 04:42:28

标签: android android-preferences

我正在尝试使用Dialog中的首选项,并且遇到了一些困难。我的应用程序的其余部分只使用getPreferences()对话框,似乎没有任何问题。但是,Dialog无法调用getPreferences(),由于某种原因,我无法访问基本Activity。但是我已经找到了一个解决方案,from the SDK documentation,但我需要一个快速的答案才能得到它。

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

2 个答案:

答案 0 :(得分:1)

我最终做的是全面使用它作为应用程序名称:

getBaseContext().getApplicationInfo().packageName

上下文几乎普遍可用,并且该名称应该与程序中的所有类保持一致。

答案 1 :(得分:0)

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

final SharedPreferences prefs = android.preference.PreferenceManager.getDefaultSharedPreferences(mContext);

这可以获得正确的偏好,而无需做任何复杂的事情。