我想在SharedPreferences更改时更新远程服务.以下用于API级别8(Android 2.2).@H_502_1@
我的活动有一个OnPreferencesChangedListener,它通过服务绑定程序对象调用远程服务.远程服务的接口提供了一个prefsChanged(voID)方法,该方法由侦听器调用.然后,接口方法将计算警报触发某些动作的新时间等.
该时间也保存到SharedPreferences中,并发送广播.我的活动收到了广播,现在可以显示新的警报时间.
活动和远程服务通过对静态方法GetPrefs(Context)的调用来获取SharedPreferences对象,该方法回答PreferenceManager.getDefaultSharedPreferences(Context).@H_502_1@
在API级别15(AndroID 4.0.3)下,此功能停止工作.调试显示,远程服务会看到其他版本的SharedPreferences,它们具有不同的(较旧的)值.从活动和远程服务登录时,记录SharedPreferencesImpl对象显示不同的地址.文件系统仅显示一个共享的首选项文件.@H_502_1@
这是错误还是巧合,我的代码是否与API级别8兼容?
任何建议将不胜感激.@H_502_1@
解决方法:@H_502_1@
答案在这里,xx到x90:https://stackoverflow.com/a/8723589/1127492@H_502_1@
使用MODE_MulTI_PROCESS这是Gingerbread(AndroID 2.3)之前和之前的遗留行为(但未记录),针对此类发行版隐含此标志.对于面向高于AndroID 2.3的SDK版本的应用程序,如果需要,必须显式设置此标志.@H_502_1@ 总结
以上是内存溢出为你收集整理的无法在活动和远程服务之间共享SharedPreferences-Android错误或功能?全部内容,希望文章能够帮你解决无法在活动和远程服务之间共享SharedPreferences-Android错误或功能?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)