静态方法中的Android首选项管理器

静态方法中的Android首选项管理器,android,android-preferences,Android,Android Preferences,如果我尝试写这个方法 public static void saveDefaultUser() { Editor pName = PreferenceManager .getDefaultSharedPreferences(getBaseContext()) .edit(); pName.putString("Name", name); pName.commit(); } 无法编译,

如果我尝试写这个方法

public static void saveDefaultUser() {
        Editor pName = PreferenceManager
                .getDefaultSharedPreferences(getBaseContext())
                .edit();
        pName.putString("Name", name);
        pName.commit();
}
无法编译,我必须删除静态值, 因为很明显,我不能对非静态方法进行静态引用

有没有一种方法可以使其适应在静态方法中的使用?

您必须在上下文中传递给您的方法,并使用它而不是getBaseContext

您必须将一个上下文传递给您的方法,并使用它而不是getBaseContext

public static void saveDefaultUser( Context cntxt ) {
    Editor pName = PreferenceManager
            .getDefaultSharedPreferences(cntxt)
            .edit();
    pName.putString("Name", name);
    pName.commit();
}