onActivityResult не запускается после комнаты ожидания (игровые сервисы Google Play)

Я тестирую свою многопользовательскую реализацию с использованием игровых сервисов Google Play с 4 разными устройствами. Все работает нормально, но две вещи:

  1. onInvitationReceived иногда не срабатывает (только иногда ¿?)
  2. Только на одном устройстве (Galaxy Ace), и только когда он получает приглашение, оба игрока (приглашающий и приглашенный) продолжают ждать в комнате ожидания, поэтому результат onActivity никогда не срабатывает. В зале ожидания читаю "Приглашение принято" у обоих игроков, но оно не закрывается...

Любые советы?


person Sergio Viudes    schedule 17.12.2013    source источник


Ответы (1)


Обычно, когда слушатели не активируются, это происходит потому, что их собирает мусор. Это происходит, если вы используете анонимный слушатель (new Listener() { .... }). Чтобы избежать этого, сделайте так, чтобы ваша активность реализовывала желаемый интерфейс слушателя и передала this в качестве слушателя GamesClient методам.

Для получения дополнительной информации ознакомьтесь с нашим руководством по устранению неполадок в разделе " Слушатели не вызываются».

Что касается onActivityResult, если вы переопределяете BaseGameActivity, убедитесь, что вы сохранили строку super.onActivityResult(...) в своей реализации onActivityResult.

person Bruno Oliveira    schedule 07.01.2014
comment
My Activity реализует интерфейс прослушивателя, поэтому не собирается мусор. И я уже вызываю super.onActivityResult(...). - person Sergio Viudes; 08.01.2014