2012-09-11 6 views
5

Provo ad implementare GCM, ma ottengo un errore, cerco di trovare i registri internet ma non posso. Quando il codice viene queste righe, ottengo errore alla logcatAndroid GCM- GCMRegistrar checkManifest (this) - Errore file manifest

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

Che cosa significa questa uscita logcat?

09-11 11:14:25.132: W/dalvikvm(11946): threadid=11: thread exiting with uncaught exception (group=0x40aac210) 
09-11 11:14:25.142: E/AndroidRuntime(11946): FATAL EXCEPTION: IntentService[ManagePushCommunicationService] 
09-11 11:14:25.142: E/AndroidRuntime(11946): java.lang.IllegalStateException: Application does not define permission com.example.push.permission.C2D_MESSAGE 
09-11 11:14:25.142: E/AndroidRuntime(11946): at com.google.android.gcm.GCMRegistrar.checkManifest(GCMRegistrar.java:135) 
09-11 11:14:25.142: E/AndroidRuntime(11946): at com.example.push.services.ManagePushCommunicationService.startJob(ManagePushCommunicationService.java:156) 
09-11 11:14:25.142: E/AndroidRuntime(11946): at com.example.push.services.ManagePushCommunicationService.onHandleIntent(ManagePushCommunicationService.java:85) 
09-11 11:14:25.142: E/AndroidRuntime(11946): at android.app.IntentService$ServiceHandler.handleMessage(IntentService.java:65) 
09-11 11:14:25.142: E/AndroidRuntime(11946): at android.os.Handler.dispatchMessage(Handler.java:99) 
09-11 11:14:25.142: E/AndroidRuntime(11946): at android.os.Looper.loop(Looper.java:137) 
09-11 11:14:25.142: E/AndroidRuntime(11946): at android.os.HandlerThread.run(HandlerThread.java:60) 
09-11 11:19:25.162: I/Process(11946): Sending signal. PID: 11946 SIG: 9 
+0

hai riuscito a farlo funzionare perché un sacco di persone sono sempre questo errore seguendo il codice di esempio gli sviluppatori di Android ed è molto frustrante? – androidu

+0

È necessario verificarlo nell'emulatore. –

risposta

0

Dieci in palese

<permission 
     android:name="com.example.push.permission.C2D_MESSAGE" 
     android:protectionLevel="signature" /> 
<uses-permission android:name="com.example.push.permission.C2D_MESSAGE" /> 
5

permesso Put nel file manifesto:

<permission android:name="com.example.gcm.permission.C2D_MESSAGE"android:protectionLevel="signature"/> 
      <uses-permission android:name="com.example.gcm.permission.C2D_MESSAGE" /> 
      <uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" /> 
+1

Trovato che la dichiarazione del nome deve essere esattamente giusta per funzionare. "com.example.gcm" deve essere sostituito con il nome del pacchetto per l'attività utilizzando C2D. – mach

0

Plz seguire i seguenti passi

1. Includere "GCM .jar "in libs in y La nostra applicazione

2. Android SDK manager => Extra => Installa Google Cloud Messaging per Android Library (obsoleto)

3. Android SDK manager => Android 4.3 (API 18) => Installa API di Google

0

permesso dare come

<permission android:name="your package name.C2D_MESSAGE" 
    android:protectionLevel="signature" /> 
<uses-permission android:name="your package name.permission.C2D_MESSAGE" />