私はAndroidを初めて使用し、構成アクティビティを使用してウィジェット上のTextViewを更新しています。正常に動作します。ボタンクリックを更新するには、同じテキストビューを更新する必要があります。そのため、インテントを介してウィジェットIDを渡していますが、レシーバー側ではウィジェットIDを受信できないため、テキストビューを更新できませんでした。
Widget_Providerでのインテントの設定
Intent refreshIntent = new Intent(context, refreshWidgetActivity.class);
refreshIntent.setAction(ACTION_WIDGET_REFRESH);
PendingIntent refreshPendingIntent = PendingIntent.getActivity(context, 0,
refreshIntent, 0);
remoteViews.setOnClickPendingIntent(R.id.button3, refreshPendingIntent);
refreshIntent.putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID,appWidgetIds[0]);
受信したアクティビティの終了時に、
Intent intent = getIntent();
Bundle extras = intent.getExtras();
if (extras != null) {
mAppWidgetId = extras.getInt(
AppWidgetManager.EXTRA_APPWIDGET_ID,
AppWidgetManager.INVALID_APPWIDGET_ID);
}
if (mAppWidgetId == AppWidgetManager.INVALID_APPWIDGET_ID) {
finish();
}
ここでは、ウィジェットIDの代わりに0がエクストラにあります。助けてください。