AppWidget
two と対話するがあり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
、入力されたメッセージがAppWidge
t に返され、表示されます。次に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
この効果はどのように達成できますか?前もって感謝します。