在getSharedPreferences中,被废弃的MODE_MULTI_PROCESS的替代方案是什么?

3

如果使用getSharedPreferences时被弃用的MODE_MULTI_PROCESS有替代方案吗?

2个回答

2
请参阅Android文档,您应该使用ContentProvider代替。MODE_MULTI_PROCESS在API 23中已被弃用。在某些版本的Android中,MODE_MULTI_PROCESS无法可靠地工作,并且没有提供任何机制来协调跨进程的并发修改。应用程序不应尝试使用它。相反,它们应该使用明确的跨进程数据管理方法,例如ContentProvider。请注意保留HTML标签。

2
请看Tray。它直接解决了这个问题(以及其他共享首选项问题)。
Tray实际上实现了ContentProvider来存储首选项。目前,它使用SQLite数据库,但据我所知,设计允许使用其他存储后端。

1
谢谢。我知道那个方法可行。我正在使用一个同步适配器,我只想要一个标志来告诉我同步是否已经完成,而不管活动是否打开。(这就是为什么广播接收器或syncStatusObserver不起作用的原因)。仅为单个标志使用内容提供程序似乎有些繁琐。希望有一些更直接的方法。 - Soumya Hariharan
1
你曾经询问过在使用SharedPreferences时,MODE_MULTI_PROCESS的替代方案。其中之一是Tray。如果你想解决特定的问题,应该详细说明问题而不是使用已弃用的解决方案。对于同步适配器,可能会有更好的替代方案,具体取决于你要同步什么以及你想要实现什么目标。 - Marten
是的,最终我选择了托盘.. 它很可靠.. 谢谢.. :) - Soumya Hariharan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接