ウィジェット付きのアプリがあります。ウィジェットを使用してアプリを起動したいのですが、起動後にウィジェットをクリックしても反応しません。アプリを正常に起動した後 (そして再度閉じた後) にのみ、ウィジェットはウィジェット自体のクリックに応答し始めます。
これは、AppWidgetProvider を使用してウィジェットをセットアップする方法です。
public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds)
{ final int ids = appWidgetIds.length;
for(int i=0;i<ids;i++)
{ int appWidgetId = appWidgetIds[i];
Intent intent = new Intent(context, TestReceiver.class);
intent.setAction(ACTION_WIDGET_RECEIVER);
intent.setClassName(TestReceiver.class.getPackage().getName(), TestReceiver.class.getName());
PendingIntent pi = PendingIntent.getBroadcast(context, 0, intent, 0);
RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.widget);
views.setOnClickPendingIntent(R.id.widget_root, pi);
views.setTextViewText(R.id.widgetclock, "Loading...");
appWidgetManager.updateAppWidget(appWidgetId, views);
}
}
アプリが起動後に少なくとも 1 回はウィジェットを起動しなくてもウィジェットのクリックを登録するには、何を変更する必要がありますか?