SharedPreferences踩坑(无法实时读取)

状况:##

存储一个键值对,值改变之后SharedPreferences读取的依然是之前的值,查看XML文件中的值发现改变成功了,但是就是只能读取一个值。

原因:##

我的SharedPreferences在服务中写的,服务中添加了android:process=":push"的声明,另开一个进程运行。而SharedPreferences的权限又是PRIVATE。只能在本进程访问。

解决:##

更改SharedPreferences的权限声明 Context.MODE_MULTI_PROCESS

参考:##

Android中Sharedpreferences牵涉到跨进程时不能实时读取的问题
了解Android API中的SharedPreferences

你可能感兴趣的:(SharedPreferences踩坑(无法实时读取))