Доступ к теме, запущенной службой - PullRequest
1 голос
/ 23 июня 2011

У меня возникли проблемы с обдумыванием этой идеи, и я хотел получить какой-то вклад.Я запускаю сервис из моего начального действия, которое запускает новый поток (класс, который реализует Runnable в данном случае, а не расширяет Thread) в его onCreate().Поток сначала создает клиентский сокет TCP, затем начинает отправлять запросы и получать ответы каждые X секунд в фоновом режиме при запуске приложения, переключении активности и т. Д. Однако мне нужно иметь возможность получить доступ к потоку из всех моих действий, чтобы сообщитьэто для отправки пользовательских запросов при срабатывании элементов пользовательского интерфейса.Доступ к службе возможен из статического контекста, но когда я пытаюсь получить доступ к экземпляру запущенного потока, я получаю ошибки, связанные с выполнением сетевых операций в основном потоке, что означает, что это не фактический экземпляр, а поток пользовательского интерфейса, к которому я обращаюсь.Я думал о реализации очереди сообщений в общем классе Application, чтобы служба могла опрашивать новые сообщения, но это выглядит ужасно.Может быть, я ошибаюсь и есть лучший / более чистый способ решения этой проблемы?Любой совет или помощь будет принята с благодарностью.

1 Ответ

1 голос
/ 23 июня 2011

Вы можете использовать механизм Looper / Handler для отправки сообщений в поток.

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