Android - как обрабатывать перезапуски контейнеров appWidgets? - PullRequest
0 голосов
/ 26 января 2012

Я создаю и контейнер appWidget, и appWidgets.У меня есть проблема, которая, я думаю, из-за созданных appWidgets - каждый раз, когда я перезапускаю (убиваю и открываю) контейнер appWidget, отображается appWidget, но он больше не обрабатывает щелчки.это происходит в каждом контейнере appWidget (средства запуска и даже widgetLocker), поэтому я подозреваю, что это из-за appWidget.

Я перепробовал много учебников в Интернете, но не смог найти никаких ссылок на эту проблему.может быть, подготовка намерений (хорошо, pendingIntents) кнопок не должна создаваться только методом onUpdate?если так, где я должен добавить это?я добавил его в onReceive, но это займет очень много времени (если это вообще произойдет).

Я бы добавил сюда некоторый код, но любой код в Интернете дал мне те же результаты.

, пожалуйста, помогите.

1 Ответ

0 голосов
/ 29 января 2012

ОК, я не уверен, что вызвало проблему, но вот решение.Короче говоря:

onUpdate(...)
  {
  super.onUpdate(context, appWidgetManager, appWidgetIds);
  for (int appWidgetId: appWidgetIds)
    {
    //Prepare remoteViews, including registration of their clicks events...
    appWidgetManager.updateAppWidget(appWidgetId, remoteViews);
    }
  }

onReceive(...)
  {
  if (intent.getAction().equals(ACTION_BUTTON_CLICKED))
    {
    //Get needed data from the customized intent.
    //Prepare remoteViews of what should be updated, including
    //registration of their clicks events...
    appWidgetManager.updateAppWidget(appWidgetId, remoteViews)
    }
  }
...