2012-07-02 2 views
0

Ниже приведен код из internalRegister метода GCMRegistrar классаКакое обслуживание запущено в методе «internalRegister» GCM?

static void internalRegister(Context context, String... senderIds) { 
     if (senderIds == null || senderIds.length == 0) { 
      throw new IllegalArgumentException("No senderIds"); 
     } 
     StringBuilder builder = new StringBuilder(senderIds[0]); 
     for (int i = 1; i < senderIds.length; i++) { 
      builder.append(',').append(senderIds[i]); 
     } 
     String senders = builder.toString(); 
     Log.v(TAG, "Registering app " + context.getPackageName() + 
       " of senders " + senders); 
     Intent intent = new Intent(GCMConstants.INTENT_TO_GCM_REGISTRATION); 
     intent.setPackage(GSF_PACKAGE); 
     intent.putExtra(GCMConstants.EXTRA_APPLICATION_PENDING_INTENT, 
       PendingIntent.getBroadcast(context, 0, new Intent(), 0)); 
     intent.putExtra(GCMConstants.EXTRA_SENDER, senders); 
     context.startService(intent); 
    } 

В последней строке кода он запускает сервис, который должен связаться с сервером GCM. сервер GSM, в свою очередь, отправляет вещание com.google.android.c2dm.intent.REGISTRATION назад. Какая услуга?

ответ

0

Цель com.google.android.c2dm.intent.REGISTRATION является частью ОС Android с 2.2. В прежние времена мы вызываем startService для этого намерения, чтобы зарегистрировать наши устройства на сервере Google C2DM. Вы также можете сделать то же самое с GCM, не используя библиотеку клиентов GCM.

Смотрите это миграционное руководство, и вы будете знать, что я имел в виду: http://developer.android.com/guide/google/gcm/c2dm.html

Для меня, я пропустил библиотеку GCM в целом, и использовать com.google.android.c2dm.intent.REGISTRATION намерение непосредственно зарегистрировать ,

+0

Мой вопрос, который «сервис» мы начинаем? –

+1

Эта услуга является частью ОС Android, и у нас нет доступа к исходному коду. Когда вы запускаете сервис с намерением com.google.android.c2dm.intent.REGISTRATION, ОС Android будет обрабатывать его и выполнять регистрацию C2DM/GCM с сервером Google. Я полагаю, что компонент Google Talk, вероятно, принадлежит этой службе. – azgolfer

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