作者:梦幻死灵_791 | 来源:互联网 | 2023-08-24 11:15
我的代码是:finalStringeulaKeymykey;finalSharedPreferencesprefsPreferenceManager.getDefaultSha
我的代码是:
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中testing – 返回正确的值。 但是对于使用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改变了,但是我没有发现任何东西。
解决scheme:从快捷方式和菜单启动应用程序给我不同的DefaultSharedPreferences。 从我的代码中删除DefaultSharedPreferences之后 – 它完美的工作。 我不能说:人们不做捷径,所以我不得不改变代码。
试试这个方法:
final String eulaKey = "mykey"; Context mCOntext= getApplicationContext(); mPrefs = mContext.getSharedPreferences("myAppPrefs", Context.MODE_PRIVATE); SharedPreferences.Editor editor = mPrefs.edit(); editor.putBoolean(eulaKey, true); editor.commit();
在这种情况下,您可以指定自己的首选项文件名(myAppPrefs),并可以控制对其的访问权限。 其他操作模式包括:
以上就是android开发分享Android getDefaultSharedPreferences相关内容,想了解更多android开发(异常处理)及android游戏开发关注(编程笔记)。