怎么引用其它AP的SharedPreference

问题

当我需要在不同的AP中引用同一个SharedPreference时,我发现单单在创建时声明MODE_WORLD_READABLE和MODE_WORLD_READABLE权限是不够的。那么SharedPreference这种轻量级存储的跨应用共享是否可行?

解决

最后在google sdk文档中,getSharedPreferences这个函数中对第二个参数mode的解释中,发现了这么一段话:

The bit MODE_MULTI_PROCESS can also be used if multiple processes are mutating the same SharedPreferences file. MODE_MULTI_PROCESS is always on in apps targetting Gingerbread (Android 2.3) and below, and off by default in later versions.

这就是问题的所在,2.3以下的版本中多进程访问都是默认为开启的,然而在后续的版本中就不再如此,害我以为在4.0中不支持这个功能了!所以在创建SharedPreferences时带上MODE_MULTI_PROCESS就行了。

  SharedPreferences prefs = getSharedPreferences("my_prefs", MODE_WORLD_READABLE | MODE_MULTI_PROCESS);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值