2016-11-17 5 views
3

Я добавил автозаполнение Place в мое приложение для Android. Когда я нажимаю кнопку (chooseLocationButton), она правильно открывает виджет автозаполнения. Проблема в том, когда я хочу написать имя в поле поиска. Непосредственно после нажатия на первое нажатие клавиши виджет Autocomplete закрывается и исследование не выполняется. Вот это то, что написано в Ран консоли:API Google Places API: автозаполнение слишком быстро закрывается

W/IInputConnectionWrapper: reportFullscreenMode on inexistent InputConnection 
W/IInputConnectionWrapper: finishComposingText on inactive InputConnection 

Здесь есть код:

AutocompleteFilter.Builder a = new AutocompleteFilter.Builder(); 
    try { 
     final Intent intent = new PlaceAutocomplete.IntentBuilder(PlaceAutocomplete.MODE_FULLSCREEN) 
       .setFilter(a.setTypeFilter(AutocompleteFilter.TYPE_FILTER_REGIONS).build()) 
       .build(this); 
     chooseLocationButton.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 

       startActivityForResult(intent, PLACE_AUTOCOMPLETE_REQUEST_CODE); 
      } 
     }); 
    } catch (GooglePlayServicesRepairableException e) { 
     e.printStackTrace(); 
     // TODO handle exception! 
    } catch (GooglePlayServicesNotAvailableException e) { 
     e.printStackTrace(); 
     // TODO handle exception! Toast? 
    } 

Конечно, я позволил Google Места на андроид API и Google Map андроида API в Google Консоль разработчика. Также я добавил ключ API к AndroidManifest.xml так:

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

В журнале я наблюдаю это:

BasicNetwork.performRequest: Unexpected response code 400 for https://www.googleapis.com/placesandroid/v1/getAutocompletePredictions... 

Последовал:

[67738] BasicNetwork.performRequest: Unexpected response code 403 for https://www.googleapis.com/placesandroid/v1/getAutocompletePredictions?key=...11-17 21:02:01.207 1053-1543/? E/Places: PLACES_API_INVALID_APP 

В Run Журнал Android Studio У меня есть: PLACES_API_KEY_EXPIRED

Я надеюсь, что кто-то может Помоги мне.

спасибо.

+0

вы определить ключ внутри приложения тега в манифесте? – kgandroid

+0

Да, это определено в теге приложения @kgandroid –

ответ

2

Проблема была решена, когда я заметил, что Google создал файл .xml для ключа API и создал конфликт с API, который я поставил в string.xml

0

Это звучит как ключевая проблема. Вещи для двойной проверки:

  • Ключ - это ключ для Android, а не веб-ключ.
  • Ограничение по имени пакета на самом деле соответствует имени пакета вашего приложения, и оно равно signed correctly.
  • Вы не превысили 1000 запросов/дневной лимит.
+0

Я добавил ключ API, который я создал в консоли API Google. Я ограничил его «Приложениями Android», именем пакета, которое я нашел поверх AndroidManifest.xml и SHA-1 (так же, как и на вашем сайте). Количество запросов/дней очень далеки от предела 1000 @AndrewR –

2

Измените ключ API решить моя проблема.

Вы можете сгенерировать новый ключ от here