ドキュメントによると
com.google.android.c2dm.intent.REGISTRATION
Google は定期的に登録 ID を更新する場合があるため、インテントが複数回呼び出される可能性があることを理解して Android アプリケーションを設計する必要があります
。Android アプリケーションは、それに応じて応答できる必要があります。
また、注意:
登録 ID は、Android アプリケーションが明示的に登録を解除するか、Google が Android アプリケーションの登録 ID を更新するまで存続します。
com.google.android.c2dm.intent.REGISTRATION
そのため、インテントを受け取ったら、サーバーで登録 ID を更新する必要があります。
また、次のように GCM に登録されているかどうかを確認するコードをランチャー/メイン アクティビティに含めることもできます。
String regid = getRegistrationId(context);
if (regid.length() == 0) {
registerBackground();
}