Мне нужно реализовать довольно популярный шаблон поведения приложения - дать возможность пользователю повторить неудавшиеся запросы. Прямо сейчас я ломаю неудачный запрос с SpiceServiceListener
и показывает диалог, в котором пользователь может нажать кнопку «Повторить». К сожалению, использование одного и того же объекта CachedSpiceRequest с SpiceManager.execute()
не дает желаемого поведения, поскольку RS удаляет все прослушиватели запросов от mapRequestToLaunchToRequestListener
, если запрос не был успешным. Таким образом, запрос может работать нормально, но он не будет возвращать какую-либо информацию в мою деятельность.Robospice. Повторить запрос с запросом по запросу
Есть ли простой способ (без изменения кода библиотеки) реализовать это?
Похоже, что удаление слушателей - не единственная проблема. 'SpiceRequest' имеет много« переменных состояния »(' isCanceled', 'future',' progress'), поэтому повторное использование без надлежащей повторной инициализации таких переменных может привести к неожиданным результатам. – Deinlandel
Пожалуйста, поделитесь, если вы нашли решение, мне нужно повторить попытку в случае истечения токена OAuth. – BornToCode
@BornToCode, пожалуйста, проверьте мой ответ – Divers