无法在活动和远程服务之间共享SharedPreferences-Android错误或功能?

无法在活动和远程服务之间共享SharedPreferences-Android错误或功能?,第1张

概述我想在SharedPreferences更改时更新远程服务.以下用于API级别8(Android2.2).我的活动有一个OnPreferencesChangedListener,它通过服务绑定程序对象调用远程服务.远程服务的接口提供了一个prefsChanged(void)方法,该方法由侦听器调用.然后,接口方法将计算警报触发某些动作的新时间

我想在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错误或功能?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1095726.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-28
下一篇 2022-05-28

发表评论

登录后才能评论

评论列表(0条)

保存