Android Widget: OnClickPendingIntent не будет работать - PullRequest
1 голос
/ 24 марта 2012

Почему я не получаю вызов, когда я нажимаю на кнопку "Вид" ??

Код:

public class Widget extends AppWidgetProvider {
    public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) {
        for (int i = 0; i < appWidgetIds.length; i++) {
            int appWidgetId = appWidgetIds[i];

            Intent intent = new Intent(context, Widget.class);
            PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, intent, 0);

            RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.widget);
            views.setOnClickPendingIntent(R.id.wid, pendingIntent);
            appWidgetManager.updateAppWidget(appWidgetId, views);
        }
    }

     @Override
        public void onReceive(Context context, Intent intent) {
            super.onReceive(context, intent);
            Log.d("ARH","CLICKK");
        }

Поскольку мне нужна кнопка для обновления виджета вручную, но кажется, что Log.d("ARH","CLICKK"); вызывается только при добавлении виджета.

Спасибо!

1 Ответ

3 голосов
/ 24 марта 2012

Вы используете PendingIntent для вызова Activity, но ваш класс Widget не является действием.

Если вы хотите обновить свой виджет, вам нужно использовать getBroadcast, который отправляет действие APPWIDGET_UPDATE.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...