android kitkat版本中的SharedReference问题

android kitkat版本中的SharedReference问题,android,sharedpreferences,android-4.2-jelly-bean,android-4.4-kitkat,Android,Sharedpreferences,Android 4.2 Jelly Bean,Android 4.4 Kitkat,您好,在我的应用程序中,我接受来自用户的密码并将其存储在共享首选项中。我还提供了密码开/关功能。如果用户选中,应用程序将要求用户在每次启动时输入密码,并将在选中关闭按钮时关闭 在android的ICS、Jellybean及以下版本上,一切正常。但它在Kitkat上永远不起作用。不幸的是,我没有Kitkat设备来调试我的应用程序。 以下是我用于共享首选项的“我的代码”: SharedPreferences sharedPreferences; //sharedPreferences = getAc

您好,在我的应用程序中,我接受来自用户的密码并将其存储在共享首选项中。我还提供了密码开/关功能。如果用户选中,应用程序将要求用户在每次启动时输入密码,并将在选中关闭按钮时关闭

在android的ICS、Jellybean及以下版本上,一切正常。但它在Kitkat上永远不起作用。不幸的是,我没有Kitkat设备来调试我的应用程序。 以下是我用于共享首选项的“我的代码”:

SharedPreferences sharedPreferences;
//sharedPreferences = getActivity().getSharedPreferences("ServerData",         Context.MODE_PRIVATE);
   sharedPreferences = PreferenceManager.getDefaultSharedPreferences(getActivity());
   Editor editor = sharedPreferences.edit();
   editor.putString("Passcode", Globals.str_Passcode);
   editor.commit();
kitkat是否存在与共享首选项相关的任何问题。
请告诉我如何解决这个问题?或者是否有其他方法可以通过相同的方式访问密码功能,以便在所有版本中都可以访问。

试试这种方法,希望这能帮助您解决问题。

SharedPreferences sharedPreferences = getSharedPreferences(getString(R.string.app_name), MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPreferences.edit();
editor.putBoolean("Passcode", Globals.str_Passcode);
editor.commit();

sharedPreferences.getBoolean("Passcode",false);

我也有类似的问题。主要活动中缺少了这个

prefs = PreferenceManager.getDefaultSharedPreferences(this);
    PreferenceManager.setDefaultValues(this, R.xml.prefs, false);

请解释“它永远不会工作”是什么意思。这意味着如果我打开密码,它应该在应用程序启动时询问我密码。但这在kitkat中从未发生过,它直接启动应用程序,而不是询问密码。您在这里列出的代码并不是与您的问题相关的所有代码。例如,要执行您所描述的操作,您需要从
SharedReferences
中读取一个值,在这里您只需写入一个值。我建议您设置一个Android 4.4 x86仿真器映像,以便能够进一步调试您的应用程序。如果您使用的是仿真器,您确定退出应用程序上的删除数据未启用吗?@Sean87:Hi,我在kitkat版本的仿真器上试用过,它工作正常,但在我的客户MotoG或三星S4上不工作。:-Hi,我在kitkat版本的仿真器上试用过,它工作得很好,但在我的客户MotoG或三星S4上不起作用。