Android GCM Reg IDが取得できない

Android

Android GCM Reg IDが取得できない

Android GCMでメッセージを送るでGCMの本当にさわりのGoogleさんのコードを紹介しましたが、ちょっとしたことでつまづきやすいので、書いておきます。。。

アクティビティでまずregIdを登録します。

 final String regId = GCMRegistrar.getRegistrationId(this);
    if (regId.equals("")) {
            // Automatically registers application on startup.
            GCMRegistrar.register(this, PlacesConstants.SENDER_ID);
        } else {
            // Device is already registered on GCM, check server.
            if (GCMRegistrar.isRegisteredOnServer(this)) {
                // Skips registration.
                tv.append(getString(R.string.already_registered) + "\n");
        }

しかし、いつまでもregIdが帰ってきません。
どうやらGCMIntentServiceが呼ばれていないようです…

ちなみに今日(2013/07/17)調べたところ、

 GCMRegistrar.getRegistrationId(this)

はDeprecatedされたようです…。
残念。GCM Registration IDの取得を見てみてください。

AndroidManifest.xmlを見直すと

  <receiver
            android:name="com.google.android.gcm.GCMBroadcastReceiver"
            android:permission="com.google.android.c2dm.permission.SEND" >
       <intent-filter>
           <!-- Receives the actual messages. -->
          <action android:name="com.google.android.c2dm.intent.RECEIVE" />
           <!-- Receives the registration id. -->
           <action android:name="com.google.android.c2dm.intent.REGISTRATION" />
            <category android:name="my.application" />
        </intent-filter>
  </receiver>

category android:name=”my.application”のmy.applicationの部分に、正しくアプリケーション名を書かなければいけなかったのですが、違う名前が入ってしまってました(^_^;

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です