Android 尝试在启动完成时读取首选项

Android 尝试在启动完成时读取首选项,android,Android,我正在从我的应用程序设置一个警报,当重新启动时,我发现我需要重置警报,因为它在重新启动后无法生存。我创建了一个广播接收器来接收BOOT_COMPLETED,这可以正常工作,所以我的清单必须是正确的 当我尝试下面这行代码时,我遇到了麻烦。我需要检索我需要设置闹钟的时间,但看起来我无法访问我的应用程序(称为S)的prefs,因为我的应用程序从未启动过空点异常: if ( S.prefs.getBoolean(S.SCHEDULEDSTATUS, false) == true ) { } 我想这应该

我正在从我的应用程序设置一个警报,当重新启动时,我发现我需要重置警报,因为它在重新启动后无法生存。我创建了一个广播接收器来接收BOOT_COMPLETED,这可以正常工作,所以我的清单必须是正确的

当我尝试下面这行代码时,我遇到了麻烦。我需要检索我需要设置闹钟的时间,但看起来我无法访问我的应用程序(称为S)的prefs,因为我的应用程序从未启动过<代码>空点异常:

if ( S.prefs.getBoolean(S.SCHEDULEDSTATUS, false) == true ) { }
我想这应该是很明显的,我不能阅读一个尚未创建的活动的公共静态结尾


我必须将我的报警时间存储在一个文件中,还是我在这里遗漏了什么?

您必须通过接收器中的上下文访问它:

    public void onReceive(Context con, Intent intent) {

            final SharedPreferences settings = con.getSharedPreferences(PREFS, 0);

    boolean boolValue = settings.getBoolean(BOOL, false);
}

发布一些代码可能会帮助您获得一个好的答案您看到的一行代码会导致NullPointerException。这是我接收机中的第一行代码。