0

我正在使用PreferenceManager.getDefaultSharedPreferences(Context context)活动(默认进程)为默认共享首选项写入一些值。

我还有一个在单独的进程Foreground Service中运行,使用.android:process=":processName"

现在的问题是,当我尝试从中读取首选项值时Foreground Service,无法读取从Activity.

但是,当我android:process=":processName"从 Android Manifest 中的注册元素中删除该属性时Foreground Service,它开始工作,服务能够从首选项中读取从Activity.

4

3 回答 3

2

引用文档SharedPreferences

注意:此类不支持跨多个进程使用。

在两个进程之间创建某种 API 并以这种方式进行通信。

于 2017-07-24T13:24:09.387 回答
0

共享首选项不支持多个进程,因此您可以在同一进程中创建服务和应用程序,也可以将内容提供程序用于多个进程。

于 2017-07-24T14:10:30.867 回答
0

将信息存储在 SQLite 数据库中。这适用于多个进程,并且非常轻量级。

于 2017-07-24T15:37:10.477 回答