Я делаю appwidget, и у меня возникают проблемы с событием click, которое теряется, когда система убивает процесс виджета, а затем перезапускает его.это также происходит после поворота экрана.
сборка против SDK версии 7 и запуск на эмуляторе (2.1) и реальном устройстве с 2.3.3.
метод my onUpdate:
public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) {
for (int wid : appWidgetIds) {
Log.i(TAG, "onUpdate widget #" + wid);
Intent intent = new Intent(context, MyClass.class);
intent.putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, wid);
PendingIntent clickIntent = PendingIntent.getActivity(context, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);
RemoteViews widget = new RemoteViews(context.getPackageName(), R.layout.widget);
widget.setOnClickPendingIntent(R.id.widget_layout, clickIntent);
appWidgetManager.updateAppWidget(wid, widget);
}
super.onUpdate(context, appWidgetManager, appWidgetIds);
}
где R.id.widget_layout - идентификатор линейного макета приложения.Я пытался добавить это событие нажатия также в текстовое представление, но с тем же результатом.
Я борюсь с этой проблемой в течение нескольких дней, и я нашел некоторых людей с этой же проблемой, но у меня нет решения :( яКроме того, безуспешно пытались использовать другие флаги намеренных намерений.
Вторая проблема: когда я добавляю еще одно приложение на домашнем экране, оно не реагирует на события нажатия. В logcat я вижу сообщение от метода onUpdate "виджет onUpdate #xy ", но приложение не реагирует на нажатия. Только первое приложение, размещенное на главном экране, реагирует на нажатия, но только в течение некоторого времени. Есть идеи?