最近在用SharedPreferences在跨应用间读取数据的时候遇到不能读取刚修改的数据,比如apk A读apk B时,在B中刚修改的数据,在A中只能读到B修改前的数据,必须要B重启应用后才能读到正确的数据。
刚开始以为是缓存的原因,各种查,无果..
终于看到一个帖子和一篇文章,发现SharedPreferences在多任务操作时,得到该实例时
SharedPreferences sharedPreferences = context.getSharedPreferences("xmlFileName",Context.MODE_MULTI_PROCESS);
最后一个参数必须用MODE_MULTI_PROCESS,不能用MODE_WORLD_READABLE和MODE_WORLD_WRITEABLE,并且MODE_MULTI_PROCESS具有读写的权限。