Android getDefaultSharedPreferences和getSharedPreferencesAndroid有什么区别?有人可以解释一下吗?
我的代码是:
final String eulaKey = "mykey";
final SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
boolean hasBeenShown = prefs.getBoolean(eulaKey, false);
Run Code Online (Sandbox Code Playgroud)
始终根据操作系统版本返回不同的值.在2.2,2.3.4,3.2,4.0.3中测试 - 返回正确的值.但对于带有CianogenMod 7.1的2.3.7设备Zte刀片 - 结果总是错误的.我想getBoolean的默认值.
这是编写boolean的代码:
final String eulaKey = "mykey";
final SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
SharedPreferences.Editor editor = prefs.edit();
editor.putBoolean(eulaKey, true);
editor.commit();
Run Code Online (Sandbox Code Playgroud)
有人有任何想法吗?
更新:将我当前的代码与我之前的代码版本进行比较 - 代码没有区别.唯一不同的是清单:代码工作正常minVersion = 8和targetVersion = 8现在我正在编译minversion = 8和target = 13 /因为Admob /.也许有些API改变了,但我没有发现这一点.
解决方案: - 从快捷方式启动应用程序,从菜单中为我提供不同的DefaultSharedPreferences.从我的代码中删除DefaultSharedPreferences后 - 它完美无缺.我不能只说:人们不做捷径,所以我不得不改变代码.