gpt4 book ai didi

android - getPreferences(MODE_PRIVATE) 在 BroadcastReceiver 中未定义

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:54:46 36 4
gpt4 key购买 nike

我有一个包含 Activity 和服务的应用程序,我需要在 Activity 中保存一些值并在服务中检索。

我可以在 Activity 中使用 SharedPreferences 保存值,但是,当我尝试在 BroadcastReceiver 中检索值时,它说 getPreferences 未定义服务。

我如何在 BroadcastReceiver 中检索我的值?

最佳答案

EDITED 以反射(reflect)来自 Service 的原始问题的变化至 BroadcastReceiver .

而不是使用 getPreferences(int mode)Activity使用...

getSharedPreferences(String name, int mode).

getPreferences(int mode)方法是上述的一种便捷方法,只需传递 Activity类名作为 name范围。这意味着它实际上应该只用于给定的 Activity存储自己的内部偏好,而不是需要对其他应用程序组件具有全局性的偏好。

如果是 BroadcastReceiver onReceive(...)方法传递了一个 Context参数,以便您可以使用 context.getSharePreferences(<some_name>, <mode>)得到SharedPreferencesActivity 保存.

关于android - getPreferences(MODE_PRIVATE) 在 BroadcastReceiver 中未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11847941/

36 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com