から設定にアクセスできません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
ますか?