私はAndroidのプログラミングの初心者であり、ISPから自分のアカウントに関するデータを取得できるウィジェットを作成しようとしています。それを行う方法は不明なことがたくさんありますが、私はいくつかのことをしました-ユーザーがログインとパスワードを入力する必要があるconfigureアクティビティを備えたウィジェットがあります。ウィジェットはデータをSharedPerferencesに保存します。ウィジェットを更新するときは、サービスを使用してAsyncTaskを開始し、ISPからアカウントデータを取得します。ウィジェットをクリックしてアクティビティを開始したいと思います。このサイトで見つけたすべてのアドバイスを試しましたが、ウィジェットがアクティビティを開始できません。ここに配置された別のウィジェットに基づく私のウィジェットhttps://github.com/Arturus/MetrikaWidget。ウィジェットをクリックしてアクティビティを開始するために、何をどこで変更する必要があるのかわかりません。ありがとう。
UPDATE:私の更新関数。PendingIntentを配置することをお勧めします
@Override
public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds)
{
Log.d(TAG, "onUpdate");
for (int appWidgetId : appWidgetIds)
{
updateAppWidget(context, appWidgetManager, appWidgetId);
}
/* An updateAppWidget functions looks like as:
Intent intent = new Intent(context, UpdateWidgetService.class);
intent.putExtra(AppWidgetManager.EXTRA_APPWIDGET_IDS, appWidgetIds);
context.startService(intent);
*/
Intent intent = new Intent(context, DetailedStatActivity.class);
PendingIntent pendingIntent = PendingIntent.getService(context, 0, intent, 0);
RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.layout);
views.setOnClickPendingIntent(R.id.layout, pendingIntent);
ComponentName componentName = new ComponentName(context.getPackageName(), WidgetProvider.class.getName());
appWidgetManager.updateAppWidget(componentName, views);
}