Paket nath.prem.com.premmcmproject;Fehler beim Abrufen des GCM-Tokens auf der Clientseite
importieren android.content.Intent;
importieren com.google.android.gms.iid.InstanceIDListenerService;
/** * Erstellt von prem am 22/7/16. */Public class GCMTokenRefreshListenerService erweitert InstanceIDListenerService {
// Wenn das Token das Gerät wieder @Override public void onTokenRefresh Registrierung() geändert wird {Intent Absicht = new Intent (this, GCMRegistrationIntentService.class); startService (Absicht); }}
Fehler beim GCM Token
FATAL AUSNAHME in Client-Seite bekommen: IntentService []
java.lang.IncompatibleClassChangeError: android.support.v4.content.ContextCompat bei com. google.android.gms.iid.zzd.zzdL (Unknown Source)
bei
com.google.android.gms.iid.zzd. (Unknown Source) an com.google.android.gms.iid.zzd. (Unbekannte Quelle) unter com.google.android.gms.iid.InstanceID.zza (Unbekannte Quelle) unter com.google.android.gms.iid.InstanceID.getInstance (Unbekannt Quelle)
das ist der Fehler, den ich immer bin, während gcm immer Token
public class GCMRegistrationIntentService erweitert IntentService {// Konstanten für Erfolg und Fehler public static final String registration_success = "RegistrationSuccess"; public static final Zeichenfolge REGISTRATION_ERROR = "RegistrationError"; // Klassenkonstruktor public GCMRegistrationIntentService() {super (""); } @Override protected void onHandleIntent (Absichtsabsicht) {// gcm beim Gerät registrieren registerGCM(); } private void registerGCM() {// Registrierung abgeschlossen Absicht initial null Intent registrationComplete = null; // Register token ist auch null // wir werden das token bei erfolgreicher registrierung erhalten String token = null; SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences (this); try {// Instanz-ID erstellen Instanz-ID instanceID = InstanceID.getInstance (this); // // // Das Token von der Instanz-ID abrufen token = instanceID.getToken (getString (R.string.gcm_defaultSenderId), GoogleCloudMessaging.INSTANCE_ID_SCOPE, null); // Anzeigen des Tokens im Protokoll, sodass wir es zum Senden von Push-Benachrichtigungen kopieren können // Sie können die App auch erweitern, indem Sie das Token auf Ihrem Server speichern Log.w ("GCMRegIntentService", "token:" + Token); // bei der Registrierung die Absicht mit dem Erfolg abschließen registrationComplete = neue Absicht (REGISTRATION_SUCCESS); // Setzen des Tokens in die Absicht // registrationComplete.putExtra ("Token", Token); } catch (Exception e) {// Wenn ein Fehler aufgetreten ist Log.w ("GCMRegIntentService", "Registrierungsfehler"); registrationComplete = neue Absicht (REGISTRATION_ERROR); } // Senden der Übertragung, für die die Registrierung abgeschlossen ist LocalBroadcastManager.getInstance (this).sendBroadcast (registrationComplete); }}
dies ist der Java-Code dieser Klasse
das ist mein menifest Datei im Projekt ...... Aber ich kann nicht der Protokolle sehen in RegistrationIntentService:
Bitte bearbeiten und formatieren Sie den Code. Überprüfen Sie diese http://stackoverflow.com/editing-help – jayeshsolanki93