Android是否有可能获得一项活动';服务的首选项值是多少?

Android是否有可能获得一项活动';服务的首选项值是多少?,android,service,android-preferences,Android,Service,Android Preferences,考虑到即使启动活动被破坏,服务也可能正在运行, 而且,通常使用额外的捆绑包沿着意图传递数据, 我想知道该服务是否能够直接访问活动的首选项 我的猜测是不可能的。但是,如果它能做到这一点,我就不用编写大量代码了。如果你的意思是,那么你可以用相同的名称调用GetSharedReferences。假设你正在询问。如果是这样的话,那么文档就清楚了(通过上面的链接): 注意:当前此类不支持跨多个应用程序使用 过程。这将在以后添加 因此,目前,如果您的服务在单独的进程中运行,则不可能。在这种情况下,我建议不要

考虑到即使启动活动被破坏,服务也可能正在运行,
而且,通常使用额外的捆绑包沿着意图传递数据,
我想知道该服务是否能够直接访问活动的首选项


我的猜测是不可能的。但是,如果它能做到这一点,我就不用编写大量代码了。

如果你的意思是,那么你可以用相同的名称调用GetSharedReferences。

假设你正在询问。如果是这样的话,那么文档就清楚了(通过上面的链接):

注意:当前此类不支持跨多个应用程序使用 过程。这将在以后添加

因此,目前,如果您的服务在单独的进程中运行,则不可能。在这种情况下,我建议不要将您的首选项存储在SharedReferences中,而是存储在可以通过特定ContentProvider访问的某个库中


另外,实际上我尝试从多个进程访问SharedReferences,它已经起到了作用(至少在我的案例中是这样),但由于答案中提到的文档,我决定使用另一种方式。

我的服务与UI在同一进程中运行,因此,我从您的回答推断,默认的SharedReference在服务中是可用的,对吗我应该传递活动上下文还是服务上下文适合GetDefaultSharedReferences(上下文)?我建议不要将活动上下文传递给SharedReferences。实际上,应用程序上下文就足够了。此外,看起来(基于android源代码),ContextImpl只有一个SharedReferences的静态实例,ContextWrapper(比如活动)正在访问它。如果你好奇的话,结帐并离开。