クリックしたときにアクティビティを起動するアプリ ウィジェットを実装しました。
onUpdate()
の方法WidgetProvider
:
public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) {
super.onUpdate(context, appWidgetManager, appWidgetIds);
final int N = appWidgetIds.length;
for (int i=0; i<N; i++) {
int appWidgetId = appWidgetIds[i];
RemoteViews updateViews = new RemoteViews(context.getPackageName(), R.layout.mywidgetprovider_layout);
// ....update updateViews here
appWidgetManager.updateAppWidget(appWidgetId, updateViews);
Intent onClickedIntent = new Intent(context,MyActivity.class);
PendingIntent pi = PendingIntent.getActivity(context, 0, onClickedIntent, 0);
updateViews.setOnClickPendingIntent(R.id.myView, pi);
appWidgetManager.updateAppWidget(appWidgetId, updateViews);
}
}
ウィジェットがホーム画面に追加された後、期待どおりに動作します。
しかし、時々、アクティビティを再び起動できなくなります! ウィジェットを削除して、再度追加する必要があります。
どうすれば修正できますか?助けてください。