A.java:在这个类中存储共享的预览。我使用下面的代码片段。如何使用BroadcastReceiver重新启动手机后获取sharedPreference值?
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(A.this);
Editor edit = prefs.edit();
edit.putString("Key1", key);
edit.putString("Key2", secret);
edit.commit();
BroadCastReceiver.java:我想获得密钥1,密钥2,当我重新启动我的电话的价值。为此,我使用下面的代码片段。
@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
值。
如果我纠正错误的方式比纠正我?
在机器人的地方你确定你使用的是相同的情况下? – Triode
我不这么认为bcz我在两个Activity中尝试并传递了类的上下文我在其中使用sharedPreferences,并且我得到了关键值@Triode –
final SharedPreferences prefs = context.getSharedPreferences(APP_PREF_NAME,Context.MODE_PRIVATE);在所有的地方。只是一个建议,但不能确定你的代码有什么问题 – Triode