Немного запутанная ситуация -Почему onProgressUpdate() не звонит в Gingerbread при работе в автономном сервисе?
- услуга поставляется в виде отдельного APK с ничем иным, чем он в манифесте;
- Служба принимает входящие запросы и обрабатывает их с помощью MessageHandler;
В одном случае обработчик нерестится AsyncTask так:
private class XHandler implements MessageHandler { @Override public void handleMessage(Message incoming) { Bundle b = incoming.getData(); ... new XAsyncTask(...).execute(); } }
учебника простые отчеты асинхронной задачи прогресса
- ... в ICS, но не в Gingerbread.
Что это - ошибка?
Документация AsyncTask гласит: «onProgressUpdate (Прогресс ...), вызывается в потоке пользовательского интерфейса после вызова publishProgress (Progress ...)». Однако нет ли такой вещи, как поток пользовательского интерфейса для автономных сервисов?
В документации по услугам говорится: «Служба работает в основном потоке приложения, в котором он находится, b по умолчанию» - это представляет собой поток пользовательского интерфейса?
UPDATE 2012/07/10: Изменение андроида: targetSdkVersion = "10" для андроида: targetSdkVersion = "15" вызывает тот же эффект, когда приложение запускается на ICS. Работает только сочетание до сих пор targetSdkVersion = «10» работает на API 15.
Почему вы ccombine Handler и AsyncTask? – Sajmon
@hawaii: Может возникнуть несколько задач, порожденных за один вызов обработчика. –