我无法从BroadcastReceiver
. 我正在使用以下代码:
public class MyReceiver extends BroadcastReceiver
{
private static final String TAG = MyReceiver.class.getSimpleName();
@Override
public void onReceive(Context context, Intent intent)
{
SharedPreferences sharedPreferences =
PreferenceManager.getDefaultSharedPreferences(
context.getApplicationContext());
Log.d(TAG, sharedPreferences.getAll().toString());
}
}
此代码始终打印陈旧的首选项。当我转到我的 PreferenceActivity 时,更改设置,然后触发一个触发上述事件的事件,BroadcastReceiver
它总是打印首选项的旧值。
我还在我的主要活动中添加了相同的代码,它总是打印正确的设置。
这里发生了什么?设置是否被缓存?有没有办法强制从我的重新加载BroadcastReceiver
?