好贷网好贷款

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

发布时间:2016-12-5 12:31:30 编辑:www.fx114.net 分享查询网我要评论
本篇文章主要介绍了"Android中Sharedpreferences牵涉到跨进程时不能实时读取的问题",主要涉及到Android中Sharedpreferences牵涉到跨进程时不能实时读取的问题方面的内容,对于Android中Sharedpreferences牵涉到跨进程时不能实时读取的问题感兴趣的同学可以参考一下。

转载请注明出处:http://blog.csdn.net/ns_code/article/details/11271053 在做课程表应用时,由于要设置课前提醒的时间,我通过Sharedpreferences进行保存,访问模式设为了MODE_PRIVATE,结果在启动的BroadcastReceiver中无法实时读取,每次当数据在Activity中改变时,在BroadcastReceiver中读取的都是上一次的值,而对应的XML文件中的数据已经改变了,并且只有手动清除应用程序的缓存后,才可以读取到修改后的值。弄了半天才发现问题所在: 我的BroadcastReceiver在AndroidMainfest.xml中注册了android:process=":remote"属性,即作为一个独立的进程来启动,因此启动BroadcastReceiver后二者不在一个进程中,所以需要把Sharedpreferences的访问模式改为MODE_MULTI_PROCESS,这样便可以实时读取Sharedpreferences中修改后的值。 另外,我还试了下,把AndroidMainfest.xml中的android:process=":remote"这一行去掉,把Sharedpreferences的访问模式改为MODE_PRIVATE,这样也可以实时读取了! So, 问题就这样解决了! 中间参考了这篇文章:android关于SharedPreferences,createPackageContext生成的context实例缓存清除问题

上一篇:HDU_2081 手机短号
下一篇:【.R】Android R.java文件丢失的找回

相关文章

相关评论