前回日付変更時にウィジェット更新されないということで
「android:updatePeriodMillis」を「0」以外に設定すると解消としたが、、、
だめでした。。。頻度は減って、
ウィジェットが更新されなくても
自動更新時に復活するようにはなったのですが、、、
ということでウィジェット更新されないのはひとまずあきらめました。。。
アプリ起動時にAppWidgetProviderを継承したクラスに
オーバーライドで実装しているonReceiveが動作するようにブロードキャスト送信を実装し
onReceive内でupdateAppWidgetを呼び出すように対応
アプリ側の処理
public static String UPDATE_WIDGET = "com.XXX.YYY.ZZZ.UPDATE_WIDGET";
Intent widgetUpdate = new Intent();
widgetUpdate.setAction(UPDATE_WIDGET);
sendBroadcast(widgetUpdate);
ウィジェット側の処理
@Override
public void onReceive(Context context, Intent intent) {
super.onReceive(context, intent);
if(intent.getAction().equalsIgnoreCase(UPDATE_WIDGET)){
updateWidget(context);
}
}
private void updateWidget(Context context) {
OutPutLog.logDebug("Start");
AppWidgetManager appWidgetManager = AppWidgetManager.getInstance(context);
int appWidgetIds[] = appWidgetManager.getAppWidgetIds(new ComponentName(context, ウィジェット.class));
for(int iCnt = 0; iCnt < appWidgetIds.length; iCnt++) {
updateAppWidget(context, appWidgetManager, appWidgetIds[iCnt]);
}
OutPutLog.logDebug("End");
}
マニフェスト
<intent-filter android:priority="13">
<action android:name="om.XXX.YYY.ZZZ.UPDATE_WIDGET" />
</intent-filter>
ひとまずこれでウィジェット更新されなくてもアプリを起動すれば
解消、、、ということで勘弁を。。。
