Я получаю сообщение об ошибке "SERVICE_NOT_AVAILABLE" в моем вызове GoogleCloudMessaging.register() на устройстве Android 2.2.
Я пишу приложение, которое использует GoogleCloudMessaging, используя новые сервисы Google Play. Я реализовал его, используя рекомендации, представленные на веб-сайте Android, и мой источник содержит много ошибок и кода обработки, например, чтобы установить или обновить службы Google Play. Код регистрации GCM также реализует экспоненциальную отсрочку как google, как предложено для реализации ошибки SERVICE_NOT_AVAILABLE.
Я тестировал свое приложение на широком спектре устройств, включая устройства ICS, JB, Honey Comb и даже 2.3.x. Регистрация GCM работает, и я могу отправлять ей сообщения через GCM. Однако на устройстве 2.2 я постоянно получаю ошибку SERVICE_NOT_AVAILABLE в вызове GoogleCloudMessaging.register() даже при экспоненциальном отклонении на месте.
Устройство, которое GCM не работает, - это Samsung SGH-I896, если быть точным, и на нем есть 2 аккаунта google. Я читал, что эта ошибка может быть вызвана неправильным временем, но время установлено как автоматическое. Телефон не модерируется и работает на складе samsung.
Я также попытался перезагрузить устройство, а также переустановить Google Play Services без везения. Любая помощь по этому вопросу будет с благодарностью.
EDIT: Я попытался реализовать GCM, используя старый gcm.jar и GCMRegistrar, и он закончил работу с устройством. Однако я вряд ли считаю это хорошим решением проблемы, поскольку Google прекратил поддерживать этот метод afaik.
EDIT2: см. принятый ответ.