Начните действие, нажав на виджет

Я новичок в программировании Android, и я пытаюсь сделать виджет, который сможет получить некоторые данные от интернет-провайдера о моей учетной записи. Есть много неизвестных вещей, как это сделать, но я сделал несколько вещей -У меня есть виджет с активностью настройки, где пользователь должен ввести логин и пароль. Виджет хранит данные в SharedPerferences, и когда пришло время обновить виджет, я использую службу, чтобы запустить AsyncTask для получения от интернет-провайдера данных учетной записи. Теперь я хочу начать действие, нажав на виджет. Я перепробовал все советы, которые нашел на этом сайте, и виджет не может начать работу. Мой виджет основан на другом виджете, размещенном здесьhttps://github.com/Arturus/MetrikaWidget. Я не понимаю, что и где я должен изменить, чтобы начать активность, нажав на мой виджет. Спасибо.

ОБНОВЛЕНИЕ :Моя функция обновления, где я предлагаю разместить 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);
}
22
задан Pratik 21 January 2013 в 09:53
поделиться