【发布时间】:2013-10-12 19:15:36
【问题描述】:
我开发了一个应用程序,它有一个活动和一个广播接收器。我想以一种可以使用活动中设置的设置的方式设置广播接收器。
我使用下面的代码及其在两个活动之间的工作,但在活动和广播接收器之间无法捕获设置。
这里是我保存 avtivity 的代码:
private void savePreferences(String key, String value) {
SharedPreferences sp = PreferenceManager
.getDefaultSharedPreferences(this);
Editor edit = sp.edit();
edit.putString(key, value);
edit.commit();
}
广播接收器中的这段代码:
@Override
public void onReceive(Context context, Intent intent) {
Bundle extras = intent.getExtras();
SharedPreferences sp = context.getSharedPreferences("myPrefs",
Context.MODE_PRIVATE);
String Password = sp.getString("PASSWORD", "1234");
int duration = Toast.LENGTH_LONG;
Toast toast = Toast.makeText(context,
"password is"+Password, duration);
toast.show();
}
【问题讨论】:
-
您是否尝试在 onReceive 中使用
PreferenceManager .getDefaultSharedPreferences(context);初始化sp? -
是的,我初始化那个...
标签: android android-activity broadcastreceiver sharedpreferences