2016-06-04 2 views
0

Чтобы начать, я не очень квалифицирован в программировании для Android, поэтому будьте терпеливы.Запуск GcmListenerService Новый процесс

Итак, я создаю приложение, которое отправляет и получает сообщения на моем сервере GCM, используя this учебник. Когда я тестировал базовые сообщения, отправлял и получал основные сообщения, отлично работал.

Теперь я пытаюсь реализовать более сложные методы, и один из них является синхронным методом.

Проблема: я обнаружил, что, если мои UIThread виснет на некоторое время, служба, которая принимает GCM сообщения висят тоже. Похоже, они работают в этом же процессе.

Можно ли отделить два процесса? Сохраняет GCM работает в одном, а пользовательский интерфейс работает в другом?

Спасибо!

ответ

1

Все методы GcmListenerService вызываются асинхронно (кроме ваших методов). Других процессов нет, кроме потоков. Используйте свой собственный thread

+0

В этом случае, если UIThread зависает, сервис GCM тоже висит. Например, если я поставил _while (true) _ в _UIThread_, тогда используйте мой сервер GCM для отправки сообщения на устройство, он не получит (метод вызова _OnMessageReceived_), пока я не разблокирую _UIThread_. – JulianoFL

Смежные вопросы