我的代碼是: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之后-完美運行。我不能只說:人們不做捷徑,所以我不得不更改代碼。
2 回答

拉丁的傳說
TA貢獻1789條經驗 獲得超8個贊
從快捷方式和菜單啟動應用程序會為我提供不同的DefaultSharedPreferences。從我的代碼中刪除DefaultSharedPreferences之后-完美運行。我不能只說:人們不會做出捷徑,所以我不得不更改代碼。
- 2 回答
- 0 關注
- 723 瀏覽
添加回答
舉報
0/150
提交
取消