A应用写入设置,B应用读取设置。
当B应用第一次读取到A应用设置的值后,A应用又一次写入新的值后,B应用再一次读取设置是,可能出现读取到的值是旧数据。
解决方法:getSharedPreferences时MODE中不要忘了添加Context.MODE_MULTI_PROCESS。
/**
* SharedPreference loading flag: when set, the file on disk will
* be checked for modification even if the shared preferences
* instance is already loaded in this process. This behavior is
* sometimes desired in cases where the application has multiple
* processes, all writing to the same SharedPreferences file.
* Generally there are better forms of communication between
* processes, though.
*
* <p>This was the legacy (but undocumented) behavior in and
* before Gingerbread (Android 2.3) and this flag is implied when
* targetting such releases. For applications targetting SDK
* versions <em>greater than</em> Android 2.3, this flag must be
* explicitly set if desired.
*
* @see #getSharedPreferences
*/
public static final int MODE_MULTI_PROCESS = 0x0004;