Ho riscontrato uno strano problema: utilizzo GCM nella mia applicazione da parecchio tempo e tutto funziona perfettamente. Tuttavia, prima di passare a Google Play ho cambiato il nome del mio pacchetto di applicazioni da com.android.testapp
a com.android.recognition
e dopo questo GCM ha smesso di funzionare. All'inizio ho ricevuto l'errore GCM sender id not set on constructor
e l'ho risolto sostituendo getSenderIds(Context context)
, ma ora non riesco a ottenere un ID di registrazione. Ecco i messaggi da logcat: Come risolvere l'errore di registrazione di Google Cloud Messaging: SERVICE_NOT_AVAILABLE?
Come posso risolvere questo? Quando sono passato a un nuovo pacchetto ho cambiato tutto nel file manifesto per il nuovo pacchetto:
<receiver
android:name="com.google.android.gcm.GCMBroadcastReceiver"
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" />
<category android:name="com.android.recognition" />
</intent-filter>
</receiver>
Allora, qual è il problema alla base di questo? La ridenominazione del pacchetto dell'applicazione può causare questo o esiste un altro motivo?
Stai lavorando all'emulatore? Quale emulatore? –
@PankajKumar Sto lavorando su dispositivi reali: Kindle Fire e LG NEXUS 4. E niente funziona – MainstreamDeveloper00
Per me, sembro strano. Devo provare un paio di volte. A volte, ho bisogno di forzare la chiusura dell'app. Quindi funziona. –