具有不同上下文的共享偏好

Shared preferences with different context

这两者有什么区别:

SharedPreferences prefs = getDefaultSharedPreferences(Application context);

SharedPreferences prefs = getDefaultSharedPreferences(Activity context);

我不知道该用哪一个?我想将 prefs 设为静态,这样我就可以在我的 app.is 中的任何地方使用它,可以吗?

在这种情况下应该无关紧要。

如果您查看 the source code,您会发现您传入的上下文用于为您的首选项创建一个名称。这是通过调用 context.getPackageName() 完成的。因此,只要两个上下文 return 具有相同的包名称(并且对于您的应用程序中的任何上下文都应该相同),使用这两个上下文就没有区别。