AppWidgettwo と対話するがありActivitiesます。まずActivity、ユーザーにテキストを入力するように求めます。Activityこれを開始するコードは次のAppWidgetとおりです。
Intent promptIntent = new Intent(context,
TransparentPromptActivity.class);
promptIntent.putExtra("appwidget_id", appWidgetId);
promptIntent.putExtra("message", incomingMessage);
PendingIntent promptPendingIntent = PendingIntent.getActivity(
context, 0, promptIntent, 0);
views.setOnClickPendingIntent(R.id.app_widget_tv,
promptPendingIntent);
これによりActivity、入力されたメッセージがAppWidget に返され、表示されます。次にActivity、メッセージを共有する があり、これを開始するコードは次のActivityとおりです。
Intent shareIntent = new Intent(context, MainActivity.class);
shareIntent.putExtra("message", incomingMessage);
PendingIntent sharePendingIntent = PendingIntent.getActivity(
context, 0, shareIntent, 0);
views.setOnClickPendingIntent(R.id.app_widget_btn_share,
sharePendingIntent);
ご覧のとおり、メッセージはローカルincomingMessage変数に格納されています。ただし、2 番目Activityが開始されると、変数の値が変更されたときに内容が更新されないincomingMessageことを意味します。Intentこの効果はどのように達成できますか?前もって感謝します。