No se puede iniciar el servicio de intenciones GCM

Hola a todos los que estoy experimentando con google GCM, pero por alguna razón mi servicio intenet GCM se niega a despertarse en el evento de registro – sé que estoy haciendo algo mal, simplemente no puedo averiguar qué …

Aquí está mi archivo de manifiesto –

<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.dmx" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="8" android:targetSdkVersion="16" /> <!-- GCM connects to Internet Services. --> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/> <!-- GCM requires a Google account. --> <uses-permission android:name="android.permission.GET_ACCOUNTS" /> <!-- Keeps the processor from sleeping when a message is received. --> <uses-permission android:name="android.permission.WAKE_LOCK" /> <!-- Creates a custom permission so only this app can receive its messages. --> <permission android:name="com.dmx.permission.C2D_MESSAGE" android:protectionLevel="signature" /> <uses-permission android:name="com.dmx.permission.C2D_MESSAGE" /> <!-- This app has permission to register and receive data message. --> <uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" /> <!-- Network State Permissions to detect Internet status --> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <!-- Permission to vibrate --> <uses-permission android:name="android.permission.VIBRATE" /> <application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@android:style/Theme.NoTitleBar.Fullscreen" > <!-- Splash Screen --> <activity android:name="com.dmx.ui.ActivitySplashScreen" > </activity> <!-- ActivitySplashScreen Screen --> <activity android:name="com.dmx.ui.ActivityLoginRegister" > </activity> <!-- Login Screen --> <activity android:name="com.dmx.ui.ActivityLogin" > </activity> <!-- Broadcasr Reciever Declaration For Incoming Messages --> <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="com.dmx" /> </intent-filter> </receiver> <!-- GCM Service Declaration --> <service android:name="com.dmx.logic.services.GCMIntentService" ></service> </application> </manifest> 

y la salida logcat –

 04-18 06:53:39.561: D/PowerManagerService(2959): [api] handleWakeLockDeath : release WakeLock : PARTIAL_WAKE_LOCK 'GCM_LIB' (uid=10218, pid=31431, ws=null) (elapsedTime=110364) 04-18 06:53:42.316: W/ActivityManager(2959): Unable to start service Intent { act=com.tmc.logic.services.GCMIntentService } U=0: not found 04-18 06:53:43.821: I/PCWCLIENTTRACE_PushUtil(28180): getPushTypeList : [SPP, GCM] 04-18 06:53:44.826: V/GCMBroadcastReceiver(31887): GCM IntentService class: com.tmc.GCMIntentService 04-18 06:53:44.831: W/ActivityManager(2959): Unable to start service Intent { act=com.google.android.c2dm.intent.REGISTRATION flg=0x10 pkg=com.tmc cmp=com.tmc/.GCMIntentService (has extras) } U=0: not found 

Ya he comprobado el servicio está anidado dentro de la aplicación y también trató de iniciar a través de la intención … su sólo no funcionan …. cualquier ayuda ???

Está utilizando el receptor de emisiones com.google.android.gcm.GCMBroadcastReceiver . Esa clase espera que la clase de servicio intención esté en el paquete principal de su app – com.dmx en su caso. Pero puesto que pusiste tu servicio de intenciones en com.dmx.logic.services , no se encontró.

Puede ver en el logcat que espera que GCMIntentService esté en com.tmc :

04-18 06: 53: 44.826: V / GCMBroadcastReceiver (31887): GCM IntentService clase: com.tmc.GCMIntentService 04-18 06: 53: 44.831: W / ActivityManager (2959): No se puede iniciar el servicio .google.android.c2dm.intent.REGISTRATION flg = 0x10 pkg = com.tmc cmp = com.tmc / .GCMIntentService (tiene extras)} U = 0: no encontrado

Debe mover su clase de servicio intencional al paquete principal o cambiar el receptor de difusión para buscarlo en su ubicación actual.

  • La notificación push funciona incorrectamente cuando la aplicación está en segundo plano o no se está ejecutando
  • Dispositivo específico que no recibe notificaciones de Google Cloud Messaging
  • Notificación GCM no recibida en uno de los dispositivos móviles
  • ¿Cómo funciona la tecnología de notificación push en Android?
  • Añadir acción a la notificación Firebase
  • Android GCM Java Server - notificación de emisión sin datos de mensajes
  • Android: Error com.parse.ParseException: se debe especificar al menos un campo ID (installationId, deviceToken) en esta operación
  • GCM push notifications - Necesita ver todas las alertas push en el área de notificación móvil, una tras otra.
  • Android y (millones de) notificaciones push
  • Android Push Notification (GCM), ¿hay algún límite diario?
  • ¿Cómo enviar una notificación push a más de 1000 usuarios que utilizan firebase en Android?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.