以下はクラスinternalRegister
のメソッドからのコードですGCMRegistrar
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
を送り返します。これはどのサービスですか?