1,
我的主apk为A,调用的apk为B,
在A中通过createPackageContext(B.packagename, INCLUDE_CODE)获得B的context实例,之后我通过B对文件数据修改,退出B,A中再通过context otherAppsContext = createPackageContext(B.packagename, CONTEXT_IGNORE_SECURITY),otherAppsContext.getSharedPreferences(“config”,otherAppsContext.MODE_WORLD_READABLE);拿到的还是以前的数据。
解决办法,修改getsharedpreference(“config”,otherAppsContext.MODE_WORLD_READABLE)的权限MODE_WORLD_READABLE修改为 MODE_MULTI_PROCESS
2,
SharedPreferences跨应用读取数据问题
A应用写入设置,B应用读取设置。
当B应用第一次读取到A应用设置的值后,A应用又一次写入新的值后,B应用再一次读取设置时,可能出现读取到的值是旧数据。
解决方法:getSharedPreferences时MODE中不要忘了添加Context.MODE_MULTI_PROCESS。
例如:
mSharedPreferences = getSharedPreferences(“audiosetting”, Context.MODE_MULTI_PROCESS);
3,
Android中Sharedpreferences牵涉到跨进程时不能实时读取的问题
在做课程表应用时,由于要设置课前提醒的时间,我通过Sharedpreferences进行保存,