Идентификатор регистрации устройства / токен устройства не генерируется

Я пытаюсь работать с GCM(Google Cloud Messaging) для push-уведомлений, я пробовал с примером приложения, оно отлично работает на моем устройстве, а Device Id/Token генерирует и может отправлять уведомления.

Если я попробую то же самое приложение с другим приложением устройства, запущенного, но Идентификатор устройства / Регистрационный номер устройства не генерируется.

Я не знаю, где я делаю ошибку, нужна помощь, чтобы понять это.

Заранее спасибо.

Вот мой фрагмент кода

 public void onCreate(){
    super.onCreate();
    final String preferences = getString(R.string.preferences);
    savedValues = getSharedPreferences(preferences, Context.MODE_PRIVATE);
    // In later versions multi_process is no longer the default
    if(VERSION.SDK_INT >  9){
        savedValues = getSharedPreferences(preferences, Context.MODE_MULTI_PROCESS);
    }
    gcm = GoogleCloudMessaging.getInstance(getBaseContext());
    SharedPreferences savedValues = PreferenceManager.getDefaultSharedPreferences(this);
    if(savedValues.getBoolean(getString(R.string.first_launch), true)){
        register();
        SharedPreferences.Editor editor = savedValues.edit();
        editor.putBoolean(getString(R.string.first_launch), false);
        editor.commit();
    }
    // Let AndroidMobilePushApp know we have just initialized and there may be stored messages
    sendToApp(new Bundle(), this);
}

а затем мой метод регистрации,

private void register() {
    new AsyncTask<Object, Object, Object>(){
        protected Object doInBackground(final Object... params) {
            String token;
            try {
                token = gcm.register(getString(R.string.project_number));
                Log.i("registrationId", token);
            } 
            catch (IOException e) {
                Log.i("Registration Error", e.getMessage());
            }
            return true;
        }
    }.execute(null, null, null);
}

1 ответ

  1. На каком устройстве вы тестируете? Если это до 4.0.4, то вы должны войти в систему с какой-либо учетной записью Google. См. Для справки: Почему для работы GCM на устройствах ниже 4.0.4 требуется логин аккаунта Google?

  2. Также проверьте, установлены ли на устройстве службы Google Play.

  3. Проверьте в Android манифест, если пакет приложения такой же, как в широковещательном приемнике, который вы зарегистрировали.

Другие вопросы по тегам