狀況:##
存儲一個鍵值對,值改變之后SharedPreferences讀取的依然是之前的值,查看XML文件中的值發(fā)現(xiàn)改變成功了盏缤,但是就是只能讀取一個值砰蠢。
原因:##
我的SharedPreferences在服務中寫的,服務中添加了android:process=":push"
的聲明唉铜,另開一個進程運行台舱。而SharedPreferences的權限又是PRIVATE。只能在本進程訪問潭流。
解決:##
更改SharedPreferences的權限聲明 Context.MODE_MULTI_PROCESS
參考:##
Android中Sharedpreferences牽涉到跨進程時不能實時讀取的問題
了解Android API中的SharedPreferences