Android 从BroadcastReceiver扩展的类中无法识别GetSharedReferences()

Android 从BroadcastReceiver扩展的类中无法识别GetSharedReferences(),android,Android,我喜欢在从BroadcastReceiver扩展的类中使用SharedReferences。但是这个方法getSharedReferences(prefName,MODE_PRIVATE)无法识别。如何在BroadcastReceiver类中检索SharedReferences? 谢谢您需要一个上下文来检索共享引用onReceive为您提供了上下文GetSharedReferences是一种上下文方法,您的活动扩展了上下文,这就是您可以按原样使用它的原因 如果你想在其他地方使用它,你需要一个上下

我喜欢在从BroadcastReceiver扩展的类中使用SharedReferences。但是这个方法
getSharedReferences(prefName,MODE_PRIVATE)无法识别。如何在
BroadcastReceiver
类中检索
SharedReferences

谢谢

您需要一个
上下文
来检索
共享引用
onReceive
为您提供了上下文

GetSharedReferences
是一种
上下文
方法,您的
活动
扩展了
上下文
,这就是您可以按原样使用它的原因

如果你想在其他地方使用它,你需要一个上下文。这个答案提供了最简单的方法

步骤1:在AndroidManifest.xml中添加一个类

步骤2:用这种方式创建类

public class App extends Application{

    private static Context _context;

    @Override
    public void onCreate() {
        super.onCreate();
        _context = this;
    }

    public static Context getContext(){
        return _context;
    }
}
第3步:每当你需要一个上下文时,你都要做:
App.getContext()


在您的例子中,
App.getContext().getSharedReferences()

是的,如果在onReceive方法中,我可以使用onReceive方法中的上下文。但这是另一种方法。你可以随时保留一个参考。例如,您可以存储在类变量中。或者,您可以更好地将SharedReference存储在类变量中