sharedprefs没有传递给BroadcastReceivers onReceive方法

时间:2014-03-01 11:54:40

标签: android broadcastreceiver sharedpreferences

在我的活动中,我设置了一些共享首选项 - >

SharedPreferences preferences = getSharedPreferences("myprefs", MODE_PRIVATE);
SharedPreferences.Editor PrefsEditor;
PrefsEditor = preferences.edit();

PrefsEditor.putString("contact1", contact1);
PrefsEditor.putString("contact2", contact2);
PrefsEditor.commit();

我可以从另一个类的sharedpreferences访问这些值,所以我知道他们已经正确保存了。

我的问题是,我想在扩展BroadcastReceiver的类中访问这些数据(所以不是活动)

public class myReceiver extends BroadcastReceiver {

String contact1,contact2;   

public void onReceive(Context context, Intent intent) { 

      SharedPreferences preferences = context.getSharedPreferences("myprefs",      Context.MODE_PRIVATE);
  contact1 = preferences.getString("contact1", "");
  contact2 = preferences.getString("contact2", "");
  Log.i(TAG, "data from shared prefs: " + contact1);

logcat将上面显示为“来自共享首选项的数据:”,因此不会收到任何内容。有人能告诉我我做错了什么吗?这可能是背景吗?

由于

0 个答案:

没有答案