2015-04-05 12 views
6

Ponownie wykorzystałem kod z przykładowego projektu Google PlaceAutocomplete przez zespół Androida.PlaceAutocomplete uzyskał nieznany kod stanu: 9000

Użyłem innego klucza do każdego projektu (również z włączonymi Miejscami Google dla Androida w konsoli Google).

Kiedy zbudowałem i uruchomiłem przykładowy projekt, działało bez problemu.

Jednak, gdy uruchamiam go z mojej aplikacji, czasami działa, innym razem otrzymałem nieznany kod stanu: 9000 (od statusu.toString()).

mam to na konsoli:

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} 

To bardzo dziwne, więc kiedy typ S, i (start sugerujące miejsc), n, g. Więc kiedy dotarłem do czwartej litery, okazjonalnie dostałem ten błąd.

Więc jedynym elementem, który różnił się tylko int wartość ClientID że zdałem do mgoogleApiClient.enableAutoManage()

Zastosowanie projekt próbka 0, podczas gdy mój użycie projekt 9993938838939 (losowy numer). -Nie jestem pewien, jaką wartość powinienem tu umieścić (odrzucił numer, który był już używany przez inną aplikację)

Poza tym, kody nie były różne (tylko, że umieściłem zmienną googleclient na Aktywność, ale rzeczywista Implementacja autouzupełniania w Fragment)

Proszę o pomoc.

+0

mam to na konsoli: [br] '04-08 01: 15: 39.331 16148-10791 /? W/Places: f.a: 633: gLocReplyElement status niepomyślny: 1' '04-08 01: 15: 39.332 16148-10791 /? W/Places: fa: 660: gPlaceQueryResult nieudana odpowiedźKod: 26' '04-08 01: 15: 39.339 10558-11608/com.travelapp.karet W/karet: Błąd podczas automatycznego wywoływania przewidywania Wywołanie API: Status {statusCode = unknown kod stanu: 9000, rozdzielczość = null} ' –

+0

Czy włączono interfejs API miejsc systemu Android lub ogólny? Wystąpiłam z tym problemem, ponieważ włączono zły interfejs API. –

+0

Włączono to już –

Odpowiedz

3

Upewnij się, że dodałeś wymaganych wartości do AndroidManifest.xml

Permission:

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

Meta-Data:

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

Spójrz na próbce AndroidManifest.xml here

+0

już dodałem, że w pierwszej kolejności. Ciągle mam błąd z tym samym kodem –

+0

Działa to, ale brakuje ważnej uwagi. W pliku manifestu powinieneś używać tylko jednego klucza API. –

6

Zmierzyłem się z tym samym problemem i udało mi się rozwiązać. W pliku manifestu musisz wykonać 3 czynności, aby wykonać demo:

1- Dodaj <uses-permission android:name="android.permission.INTERNET" />, jeśli jeszcze tam nie ma.

2- Zamień ADD_YOUR_API_KEY_HERE za pomocą klawisza APi. Możesz wygenerować klucz API za pomocą tego linku: Google Places Sign Up.

3- Dodaj pakiet aplikacji Android app demo do listy dozwolonych aplikacji takich jak to: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX;com.example.google.playservices.placecomplete

Aby dodać do listy dozwolonych aplikacji, odwiedź Google Developers Console. Następnie wybierz projekt, nad którym pracujesz. Po lewej stronie kliknij link "APIs & auth", a następnie kliknij link "Poświadczenia". Następnie kliknij przycisk "Edytuj dozwolone aplikacje Android". Teraz możesz wpisać pakiet aplikacji aplikacji demo, np. XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX;com.example.google.playservices.placecomplete w polu tekstowym.

Uwaga: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX = Twój SHA1 certyfikat fingerprint

+0

Nie można mówić za OP, ale zweryfikowałem wszystkie te rzeczy i nadal widzę błąd. – dpassage

+1

@dpassage Krok 3 jest bardzo ważny, ponieważ jest to jedyny powód tego błędu. Musisz dodać odcisk palca SHA urządzenia, z którego kompilujesz i uruchamiasz próbkę wraz z pakietem aplikacji zdefiniowanym w pliku manifestu! –

+1

@dpassage Upewnij się również, że masz włączone api miejsca :) –

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.