La intención del receptor de mensajes de la nube de Google no se inicia (devolución de llamada de intención de difusión: resultado = CANCELADO paraIntención)

Estoy tratando de hacer un cliente GCM, el registro está bien. También envío mensajes con éxito desde el servidor. Sin embargo, el cliente no inicia la intención. Dice

09-30 08: 39: 59.795: W / GTalkService (4667): [DataMsgMgr] devolución de llamada de intención de difusión: resultado = CANCELADO forIntent {act = com.google.android.c2dm.intent.RECEIVE cat = [dol.framework] Extras

Mi intención

public class GCMService extends IntentService{ public GCMService(String name) { super("GCMService"); } protected void onHandleIntent(Intent intent) { Bundle extras = intent.getExtras(); String messageType = gcm.getMessageType(intent); android.util.Log.i("hi","test"); if (!extras.isEmpty()) { if (GoogleCloudMessaging.MESSAGE_TYPE_MESSAGE.equals(messageType)) { Logger.logInUI(tag, "Recieved: " + extras.toString()); } } GCMReciever.completeWakefulIntent(intent); } } 

Y mi receptor

 public class GCMReciever extends WakefulBroadcastReceiver { public void onReceive(Context context, Intent intent) { ComponentName comp = new ComponentName(context.getPackageName(), GCMService.class.getName()); startWakefulService(context, (intent.setComponent(comp))); Logger.log("hi","eetett"); setResultCode(Activity.RESULT_OK); } } 

Y finalmente mi manifiesto

 <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="dol.framework" android:versionCode="1" android:versionName="1.0" > <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.GET_ACCOUNTS" /> <uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" /> <uses-permission android:name="android.permission.WAKE_LOCK" /> <permission android:name="dol.framework.gcm.permission.C2D_MESSAGE" android:protectionLevel="signature" /> <uses-permission android:name="dol.framework.gcm.permission.C2D_MESSAGE" /> <uses-sdk android:minSdkVersion="8" android:targetSdkVersion="18" /> <application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:name="dol.framework.widget.DolApplication" android:label="Dol Framework" android:theme="@style/AppTheme" > <activity android:name="dol.framework.activity.DebugActivity" android:configChanges="orientation|keyboardHidden|screenSize" android:label="@string/app_name" android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <receiver android:name="dol.framework.GCMReciever" android:permission="com.google.android.c2dm.permission.SEND" > <intent-filter> <action android:name="com.google.android.c2dm.intent.RECEIVE" /> <category android:name="dol.framework" /> </intent-filter> </receiver> <service android:name="dol.framework.GCMService"/> </application> </manifest> 

Lo siento por el muro de texto. GCMService y GCMReceiver están en la parte superior de mi paquete (dol.framework). ¿Qué estoy haciendo mal? Aparte de eso, no estoy haciendo mucho. Sólo registro el dispositivo y luego estoy enviando un mensaje a este dispositivo. El registro imprime el mensaje en la parte superior pero no hace nada. ¿No debería empezar el servicio o algo así? No vi nada relacionado con ejemplos.

En el permiso que definió y utilizó para GCM, tiene dol.framework.gcm.permission. Debe ser dol.framework.permission, ya que el paquete de su aplicación es dol.framework.

Intente cambiar el bit receptor de su manifiesto a esto:

  <receiver android:name=".GCMReciever" android:exported="true" android:permission="com.google.android.c2dm.permission.SEND" > <intent-filter> <action android:name="com.google.android.c2dm.intent.RECEIVE" /> <action android:name="com.google.android.c2dm.intent.REGISTRATION" /> <action android:name="dol.framework" /> </intent-filter> </receiver> 
  • GCM push notificación. Notificación incorrecta publicada - No se pudo expandir RemoteViews para: StatusBarNotification
  • Nuevo error de origen desconocido del registro de la API de GCM
  • OneSignal: no se puede abrir la actividad después de hacer clic en el botón
  • ¿Está com.google.android.c2dm.intent.RECEIVE todavía en uso?
  • Analizar notificaciones push en Android
  • Appcelerator Titanium LocalNotification para Android
  • Tamaño de icono de la barra de estado de Android - Uso de Cordova / Phonegap Push Plugin
  • Notificación lanza RemoteServiceException en el dispositivo de Motorola con OS 7
  • Al hacer clic en la notificación no se abre la actividad mencionada
  • notificaciones push de Google Chrome android
  • Activación inteligente "androide" desde una notificación push
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.