0

Я знаю, что есть много вопросов об этом, но я не мог понять решение этих вопросов.проблема с получением идентификатора token в android

Я получаю null в токене от GCM. многие люди сделали это с помощью класса, но я делаю это в фоновом потоке в том же классе. Он возвращает null в regId.

OnCreate

if (checkPlayServices()) { 
     gcm = GoogleCloudMessaging.getInstance(this); 
     regid = getRegistrationId(context); 

     if (regid.isEmpty()) { 
      Log.e(TAG, "registering in background"); 
      registerInBackground(); 
     } else { 
      Log.e(TAG, "Notification Token : " + regid); 
      user.setNotificationToken(regid); 
     } 
    } else { 
     MyLog.i(TAG, "No valid Google Play Services APK found."); 
    } 

RegisterInBackgroud(), если устройство не зарегистрировано ранее.

private void registerInBackground() { 
    new AsyncTask<Void, Void, String>() { 
     @Override 
     protected String doInBackground(Void... params) { 
      String msg = ""; 
      try { 

       Log.e(TAG, "doing in background"); 
       if (gcm == null) { 
        gcm = GoogleCloudMessaging.getInstance(context); 
       } 

       if(gcm != null) 
       { 
        Log.e(TAG, "GCM is not null"); 
       } 
       regid = gcm.register(SENDER_ID); 

       Log.e(TAG, "token id:" + regid); 

       msg = "Device registered, registration ID=" + regid; 

       storeRegistrationId(context, regid); 
      } catch (IOException ex) { 
       msg = "Error :" + ex.getMessage(); 
      } 
      return msg; 
     } 

    }.execute(null, null, null); 
} 

Я попытался зарегистрировать его, чтобы он отображал значение null в regId. что может быть проблемой в этом?

+0

Вы пробовали его на нескольких устройствах? –

+0

Да, я тестировал два устройства. Ни в одном из них это не сработало. – keen

+0

Дело в том, что когда ваше устройство уже зарегистрировано в GCM, оно вернет null, иначе оно зарегистрирует ваше устройство и вернет идентификатор устройства. –

ответ

0

Некоторые, как мой идентификатор приложения не работал. Воспроизведение приложения на консоли Google создало новый идентификатор, который я использовал в своем проекте, и он начал работать.

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

  • Нет связанных вопросов^_^