2013-06-09 4 views
8

Gefolgt Google's GCM example extrem vorsichtig, aber immer noch mit frustrierenden Fehlern kam. Ich habe die Antwort hier nicht gefunden, also dachte ich, ich würde es für zukünftige Referenzen dokumentieren.Google Cloud Messaging-Registrierungsmethode schlägt fehl mit IOException (MAIN_THREAD)

Ich war mir ziemlich sicher, dass ich das Manifest ordnungsgemäß mit den richtigen Berechtigungen usw. eingerichtet hatte (dem obigen Beispiel folgend) ... aber dieser Code verursachte immer eine IOException mit der Erklärung "MAIN_THREAD".

Ich habe versucht, das Problem zu finden, indem Sie durch, so natürlich diesen Code auf dem Hauptthread ausgeführt. Rückblickend ist die Antwort offensichtlich ... aber ich werde es unten eingeben.

Antwort

12

Drum roll ... Sie können die Registermethode nicht im Hauptthread aufrufen. Offensichtliche im Nachhinein, aber vielleicht gibt es andere, die so viel saugen wie ich

+4

gcm.register (SENDER_ID) (aber weniger jeden Tag!); in doInBackground, aber immer noch nicht in der Lage, App zu registrieren und IOException zu werfen –

1

Aufruf der Registerverfahren in AsyncTask (doInBackGround)