DashClockExtension
時々更新されないことがあります。
LocalBroadcastReceiver を使用して、http://bit.ly/1e4uMl0のような拡張子を更新しています。受信者はonInitialize()
メソッドに登録されます。
@Override
protected void onInitialize(boolean isReconnect) {
super.onInitialize(isReconnect);
LocalBroadcastManager broadcastMgr = LocalBroadcastManager.getInstance(this);
if (mDashClockReceiver != null) {
try {
broadcastMgr.unregisterReceiver(mDashClockReceiver);
} catch (Exception ignore) {}
}
mDashClockReceiver = new DashClockUpdateReceiver();
broadcastMgr.registerReceiver(mDashClockReceiver, new IntentFilter(UPDATE_DASHCLOCK));
}
それが私がブロードキャストを送信する方法です:
public static void updateDashClock() {
LocalBroadcastManager.getInstance(Application.getContext()).sendBroadcast(new Intent(UPDATE_DASHCLOCK));
}
それが私のBroadcastReceiverです:
private class DashClockUpdateReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
retrieveDataAndUpdateWidget();
}
}
ブロードキャストがトリガーされている間、レシーバーがイベントを受信しない場合があることに気付きました。
アプリを強制終了してテストしましたが、問題が再現されないため、なぜこれが起こるのかわかりません。
誰?