我正在为应用程序编写代码只执行一次函数。即使我关闭并打开应用程序,getSharedPreference总是返回false(参见第一行)的问题。
boolean firstboot = context.getSharedPreferences("BOOT_PREF",context.MODE_PRIVATE).getBoolean("firstboot", true);
if(firstboot)
{
context.getSharedPreferences("BOOT_PREF",context.MODE_PRIVATE).edit().putBoolean("firstboot", false).commit();
Log.d(TAG, "first" );
}
else
Log.d(TAG, "not first time" );
我做错了什么?
祝你好运
答案 0 :(得分:0)
如果您打开和关闭应用程序,首选项不会发生变化,这是共享首选项的全部要点,请将其视为存储唯一信息的简单数据库。
如果要重置共享首选项,您可以:卸载并重新安装应用程序,强制关闭应用程序并清除所有数据或添加代码以清除它:
context.getSharedPreferences("BOOT_PREF", context.MODE_PRIVATE).edit().clear().commit();