2012-09-26 6 views
7

Die OnRegistered-Methode wird nie aufgerufen, in der Logcat sehe ich die letzte Zeile als Acquiring Wakelock.GCM onRegistered nicht aufgerufen

  • 09-26 14: 03: 23,285: D/GCMRegistrar (15820): Backoff für
  • Zurücksetzen
  • 09-26 14: 03: 23,285: V/GCMRegistrar (15820): Registrieren app * a der Absender 735175912799
  • 09-26 14: 03: 23.895: V/GCMBroadcastReceiver (15820): onReceive: - com.google.android.c2dm.intent.REGISTRATION 09-26 14: 03: 23.895: V/GCMRegistrar (15820): Einstellen des Namens der Wiederholungsempfängerklasse auf * .notifications.MyGCMBroadcastReceiver
  • 09-26 14: 03: 23.895: V/GCMBroadcastReceiver (15820): GCM IntentService Klasse: - * .notifications.GCMIntentService
  • 09-26 14: 03: 23,903: V/GCMBaseIntentService (15820): Der Erwerb WakeLock

ich meine eigenen Broadcastreceiver haben:

import com.google.android.gcm.GCMBroadcastReceiver; 

public class MyGCMBroadcastReceiver extends GCMBroadcastReceiver { 

    @Override 
    protected String getGCMIntentServiceClassName (Context context) { 
     return GCMIntentService.class.getCanonicalName(); 
    } 

} 

Antwort

1

Ich hatte ähnliches Problem. Es stellte sich heraus, dass ich ApplicationManifest.xml hinzuzufügen vergessen:

<service android:name=".GCMIntentService"/> 
1

Im Folgenden sind gemeinsame Lösungen:

1) Name Sie Service als "GCMIntentService"

2) Setzen Sie Ihre GCMIntentService in Standardpaket

3) vor GCM Register Anforderungsruf Senden

GCMRegistrar.checkDevice(this); 
GCMRegistrar.checkManifest(this); 

So, wenn es irgendein Problem mit Ihrem Gerät oder Ihrem Menifest gibt, wird es Ihnen sagen. 4) Berechtigungen prüfen. Überprüfen Sie insbesondere Paket Mähne in Berechtigungen. Dies ist ein nesty on, wenn Sie mit Paketname in der Erlaubnis versauen, wird es für die neuesten Androids (Jelly Bean +) funktionieren, aber wird in niedrigeren Geräten

fehlschlagen
Verwandte Themen