Android getDefaultSharedPreferences

我的代码是:


final String eulaKey = "mykey";

final SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());

boolean hasBeenShown = prefs.getBoolean(eulaKey, false);

始终根据操作系统版本返回不同的值。在2.2、2.3.4、3.2、4.0.3中进行了测试-返回正确的值。但是对于带有CianogenMod 7.1和2.3.7的设备Zte刀片-结果始终为假。我想getBoolean的默认值。


这是写布尔值的代码:


final String eulaKey = "mykey";

final SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());

SharedPreferences.Editor editor = prefs.edit();

editor.putBoolean(eulaKey, true);

editor.commit();

有人知道吗?


更新:将当前代码与以前的代码版本进行比较-代码没有差异。唯一的区别在于清单:代码在minVersion = 8和targetVersion = 8时可以正常工作现在我正在使用minversion = 8和target = 13 /因为Admob /进行编译。也许某些API发生了变化,但是我对此一无所获。


解决方案:-从快捷方式和菜单启动应用程序会为我提供不同的DefaultSharedPreferences。从我的代码中删除DefaultSharedPreferences之后-完美运行。我不能只说:人们不做捷径,所以我不得不更改代码。


暮色呼如
浏览 665回答 2
2回答

拉丁的传说

从快捷方式和菜单启动应用程序会为我提供不同的DefaultSharedPreferences。从我的代码中删除DefaultSharedPreferences之后-完美运行。我不能只说:人们不会做出捷径,所以我不得不更改代码。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

AngularJS