Ich richte Google Cloud Messaging in einer Android-Anwendung ein. Am Anfang initialisiere ich die GoogleApiClient
um, ob die Play-Dienste verfügbar sind zu überprüfen:IllegalArgumentException beim Hinzufügen von Cloud-Messaging-API zu GoogleApiClient
mGoogleApiClient = new GoogleApiClient.Builder(this)
.addConnectionCallbacks(this)
.addOnConnectionFailedListener(this)
.build();
Der Versuch, es zu laufen IllegalArgumentException: must call addApi() to add at least one API
produziert, also muss ich auch die GCM Api hinzufügen, aber ehrlich gesagt kann ich nicht finden es auf der Dokumentation. Etwas wie:
mGoogleApiClient = new GoogleApiClient.Builder(this)
.addApi(gcm.API) <----- WHAT HERE?
.addConnectionCallbacks(this)
.addOnConnectionFailedListener(this)
.build();
AFAIK Sie ** brauchen nicht ** 'GoogleApiClient' für GCM – Selvin
Es ist nicht unbedingt erforderlich, aber die Dokumentation" stark ermutigt ", es zu verwenden, um zu überprüfen, ob die Play Services verfügbar sind oder nicht: https : //developers.google.com/android/guides/setup – ticofab
Sie können auch 'GooglePlayServicesUtil' verwenden, um dies zu tun ... Ich sehe Ihren Punkt (API sollte konsistent sein), aber ... verwenden Sie' GooglePlayServicesUtil.isGooglePlayServicesAvailable (Aktivität) '' dann GooglePlayServicesUtil.isUserRecoverableError (Result) 'und dann' GooglePlayServicesUtil.getErrorDialog (Result, Aktivität, Anfrage) .show() ' – Selvin