android - 多进程共享首选项在多进程环境中返回错误值

标签 android sharedpreferences multiprocess

我的共享偏好定义如下:

sharedPreferences = context.getSharedPreferences(Consts.SHARED_PREFS_NAME, Context.MODE_MULTI_PROCESS);

我的接收者是在不同的进程中定义的:

<receiver android:name="com.my.name" android:enabled="true" android:process=":myProcessName" />

使用的流程不同,上下文也不同。 问题是,在应用程序进程和我的 broadcastreceiver 进程中使用相同的 bool 首选项会返回意外值,就好像读取和写入不在同一个共享 bool 首选项上一样。

有什么想法吗?

最佳答案

我写了一个库来解决这个问题:https://github.com/grandcentrix/tray

它使用内部 ContentProvider 来存储数据,并且是 SharedPreferences 的完全替代品,但具有多进程支持。

关于android - 多进程共享首选项在多进程环境中返回错误值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19705818/

相关文章:

php - 如何在android中使用sharedpreferences保存mysql数据表

Android - 使用共享首选项存储/检索字符串

c++ - boost::asio 服务器多进程

android - build.gradle 文件中的外部引用/变量

Android:WAITING服务器响应

带有 Firebase 测试实验室的 Android apk

android - 点赞按钮和 Phonegap 应用程序

android - 在 AAR 库中管理 sharedPreference

c - 信号错误: "invalid use of void expression"

multithreading - Lamport 的面包店算法