2015-04-05 12 views
6

Ho riutilizzato il codice dal progetto di esempio Google PlaceAutocomplete dal team di Android.PlaceAutocomplete ottenuto codice di stato sconosciuto: 9000

Ho usato chiavi diverse per ogni progetto (abilitato anche Google Places per Android nella console di google).

Quando ho creato ed eseguito il progetto di esempio, funzionava senza problemi.

Tuttavia, quando lo eseguo dalla mia app, a volte funziona, altre volte ho ricevuto codice di stato sconosciuto: 9000 (da status.toString()).

ho ottenuto questo sulla console:

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} 

E 'molto strano, così quando ho tipo s, i (inizio posti che suggeriscono), n, g. Così, quando ho raggiunto la quarta lettera, occasionalmente ho ricevuto questo errore.

Quindi l'unica parte che era diverso era solo il clientId valore int che ho passato a mgoogleApiClient.enableAutoManage()

L'uso progetto di esempio 0, mentre il mio uso progetto 9.993.938,838939 millions (numero casuale). -Non sono sicuro di quale valore dovrei inserire qui (ha rifiutato il numero che è già utilizzato da altre app)

Oltre a ciò, i codici non erano diversi (solo che ho inserito la variabile googleclient in Attività, ma l'effettiva Implementazione del completamento automatico su un frammento)

Please help.

+0

ho ottenuto questo sulla console: [br] '4-08 gennaio: 15: 39,331 16.148-10.791 /? W/Places: f.a: 633: gLocReplyElement stato non riuscito: 1' '04-08 01: 15: 39.332 16148-10791 /? W/Places: fa: 660: gPlaceQueryResult responseCode: 26' '04-08 01: 15: 39.339 10558-11608/com.travelapp.karet W/karet: Errore durante il rilevamento della risposta automatica API: status {statusCode = unknown codice di stato: 9000, risoluzione = null} ' –

+0

Hai abilitato l'API di Android o quella generale? Mi sono imbattuto in questo problema perché avevo abilitato l'API sbagliata. –

+0

Abilitato già –

risposta

3

Assicurarsi di aver aggiunto i valori necessari per il vostro AndroidManifest.xml

permesso:

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

Meta-dati:

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

Date un'occhiata al campione AndroidManifest.xml here

+0

l'ha già aggiunto in primo luogo. Ho ancora errore con lo stesso codice –

+0

Questo funziona ma manca una nota importante. Dovresti usare solo una API KEY nel tuo file manifest. –

6

Ho affrontato lo stesso problema e sono stato in grado di risolvilo. Ci sono 3 cose da fare nel file manifest per far funzionare la demo:

1- Aggiungi <uses-permission android:name="android.permission.INTERNET" />, Se non già lì.

2- Sostituire ADD_YOUR_API_KEY_HERE con la chiave api. È possibile generare una chiave API utilizzando questo collegamento: Google Places Sign Up.

3- Aggiungi apk di demo app per l'elenco delle applicazioni consentite in questo modo: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX;com.example.google.playservices.placecomplete

da aggiungere alla lista di applicazioni consentite, visitare il Google Developers Console. Quindi seleziona il progetto su cui stai lavorando. Sul lato sinistro, fai clic sul link "API & auth" e, in seguito, fai clic sul link "Credenziali". Successivamente, fai clic sul pulsante "Modifica applicazioni Android consentite". Ora puoi inserire il pacchetto dell'applicazione dell'app demo, ad es. XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX;com.example.google.playservices.placecomplete nella casella di testo.

Nota: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX = TUO SHA1 certificato di impronte digitali

+0

Non posso parlare per OP, ma ho verificato tutte quelle cose e sto ancora vedendo l'errore. – dpassage

+1

@dpassage Il passaggio 3 è molto importante in quanto questo è l'unico motivo di questo errore. È necessario aggiungere l'impronta digitale SHA della propria macchina, dalla quale si sta compilando ed eseguendo l'esempio insieme al pacchetto dell'applicazione definito nel file manifest. –

+1

@dpassage Assicurati anche di aver abilitato i posti api :) –

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.