2015-04-05 9 views
6

Ich habe den Code von Google PlaceAutocomplete Beispielprojekt von Android-Team wiederverwendet.PlaceAutocomplete wurde unbekannt Statuscode: 9000

Ich habe für jedes Projekt einen anderen Schlüssel verwendet (Google Places für Android wurde auch in der Google Konsole aktiviert).

Wenn ich das Beispielprojekt erstellte und ausführte, funktionierte es ohne Probleme.

Allerdings, wenn ich es von meiner App laufen, manchmal funktioniert es, andere Male habe ich unbekannten Statuscode: 9000 (von status.toString()).

Ich habe dies auf der Konsole:

04-08 01:15:39.331 16148-10791/? W/Places﹕ f.a:633: gLocReplyElement unsuccessful status: 1 

04-08 01:15:39.332 16148-10791/? W/Places﹕ f.a:660: gPlaceQueryResult unsuccessful responseCode: 26 

04-08 01:15:39.339 10558-11608/com.travelapp.karet W/karet﹕ Error getting autocomplete prediction API call: Status{statusCode=unknown status code: 9000, resolution=null} 

Es ist sehr seltsam, so, wenn ich s geben, i (was darauf hindeutet, Orte beginnen), n, g. Als ich den vierten Buchstaben erreichte, bekam ich gelegentlich diesen Fehler.

So ist der einzige Teil, der anders war, war nur der int-Wert clientId, die ich mgoogleApiClient.enableAutoManage() übergeben

Das Beispielprojekt verwendet 0, während mein Projekt Verwendung 9993938838939 (Zufallszahl). -Ich bin mir nicht sicher welcher Wert sollte ich hier setzen (es hat die Nummer abgelehnt, die bereits von anderen App verwendet wird)

Ansonsten war der Code nicht anders (nur, dass ich die googleclient Variable auf Activity, aber die tatsächliche Autocomplete-Implementierung auf einem Fragment)

Bitte helfen.

+0

Ich habe dies auf der Konsole: [br] 'Januar 04-8: 15: 39,331 16.148-10.791 /? W/Orte: f.a: 633: gLocReplyElement erfolgloser Status: 1' '04-08 01: 15: 39.332 16148-10791 /? W/Places: fa: 660: gPlaceQueryResult fehlgeschlagen responseCode: 26' '04-08 01: 15: 39.339 10558-11608/com.travelapp.karet Mit karet: Fehler beim Aufruf der Autocomplete-Vorhersage-API: Status {statusCode = unknown Statuscode: 9000, Auflösung = null} ' –

+0

Haben Sie Androids Place-API aktiviert, oder die allgemeine? Ich stieß auf dieses Problem, weil ich die falsche API aktiviert hatte. –

+0

Enabled es bereits –

Antwort

3

Stellen Sie sicher, dass Sie die erforderlichen Werte zu AndroidManifest.xml hinzugefügt haben

Berechtigung:

<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES"/> 

Meta-Daten:

<meta-data 
      android:name="com.google.android.geo.API_KEY" 
      android:value="ADD_YOUR_API_KEY_HERE"/> 

einen Blick auf die Probe nehmen AndroidManifest.xml here

+0

hat das bereits an erster Stelle hinzugefügt. Ich habe immer noch Fehler mit dem gleichen Code –

+0

Das funktioniert, aber es fehlt eine wichtige Notiz. Sie sollten nur einen API KEY in Ihrer Manifestdatei verwenden. –

6

Ich konfrontiert das gleiche Problem und konnte löse es. Es gibt 3 Dinge in der Manifest-Datei zu tun, um die Demo-Arbeit zu machen:

1- Hinzufügen <uses-permission android:name="android.permission.INTERNET" />, Wenn nicht schon da.

2- Ersetzen Sie ADD_YOUR_API_KEY_HERE mit Ihrem API-Schlüssel. Sie können einen API-Schlüssel generieren, indem Sie diesen Link verwenden: Google Places Sign Up.

3- hinzufügen Android-Anwendungspaket von Demo-Anwendung auf die Liste der erlaubten Anwendungen wie diese: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX;com.example.google.playservices.placecomplete

in der Liste der erlaubten Anwendungen hinzuzufügen, die Google Developers Console besuchen. Wählen Sie dann das Projekt, an dem Sie gerade arbeiten. Klicken Sie auf der linken Seite auf den Link "APIs & auth" und darunter auf den Link "Credentials". Klicken Sie anschließend auf die Schaltfläche "Zulässige Android-Anwendungen bearbeiten". Jetzt können Sie das Anwendungspaket der Demo-App z. XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX;com.example.google.playservices.placecomplete in der Textbox.

Hinweis: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX = IHR SHA1-Zertifikat Fingerabdruck

+0

Ich kann nicht für OP sprechen, aber ich habe all diese Dinge überprüft und sehe immer noch den Fehler. – dpassage

+1

@dpassage Schritt 3 ist sehr wichtig, da dies der einzige Grund für diesen Fehler ist. Sie müssen den SHA-Fingerabdruck Ihrer Maschine hinzufügen, von dem Sie das Beispiel zusammen mit dem in der Manifestdatei definierten Anwendungspaket kompilieren und ausführen. –

+1

@dpassage Stellen Sie auch sicher, dass Sie die Orte api aktiviert haben :) –

2
Please ensure the folowing. 

1. The package name given in console registration page must be same as that of actvity/fragment we are using. ie; if are using this auto search button inside com.example.rajeesh.UI.fragements.SearchFragment, 
then inside console registration page package name should be 
com.example.rajeesh.UI.fragements 
This is different from the package name we given in manifest file. 

2. Inside manifest please change 
    <meta-data 
       android:name="com.google.android.maps.v2.API_KEY" 
       android:value="@string/google_maps_api_key" /> 
to 

     <meta-data 
       android:name="com.google.android.geo.API_KEY" 
       android:value="@string/google_maps_api_key" /> 


3. Enable Google Places API for Android in console page.