A.java : 在这个类中存储了共享的 prefreence。我使用了下面的代码片段。
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(A.this);
Editor edit = prefs.edit();
edit.putString("Key1", key);
edit.putString("Key2", secret);
edit.commit();
BroadCastReceiver.java :我想在重启手机时获取 Key1、Key2 的值。为此,我使用了以下代码段。
@Override
public void onReceive(Context context, Intent intent) {
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
String a = prefs.getString("Key1", null);
String b = prefs.getString("Key2", null);
}
询问 :
这个问题是否与上下文有关
输出 :
我得到空值。我在其他 Activity 中尝试过这种格式运行良好,但在 broadcastReceiver 中获得了null
价值。
如果我选择错误的方式而不是纠正我?