Один сценарий, в котором вам может понадобиться функция sleep (), а не с помощью setTimeout (), - это если у вас есть функция, реагирующая на щелчок пользователя, который в конечном итоге откроет новое всплывающее окно, и вы инициировали некоторую обработку, которая требует короткий период для заполнения до появления всплывающего окна. Перемещение открытого окна в закрытие означает, что он обычно блокируется браузером.
Решения Francois Wouts помогли ответить на это. Спасибо, Франсуа ...
Я искал журналы с ключевым словом «Места» и обнаружил, что API «Места» действительно бросает исключение. Он ожидал com.google.android.geo.API_KEY
в тегах <application>
в Manifest.xml.
Я изменился на com.google.android.geo.API_KEY
в теге <activity>
, а не на теге <application>
.
Теперь изменился на com.google.android.geo.API_KEY
и удалил те же строки из тега <activity>
и заставил его работать. Почувствуйте себя идиотом за то, что он не работал сам по себе.
Тег метаданных должен читать
BLOCKQUOTE>android:name="com.google.android.geo.API_KEY"
Он должен быть в теге<application>
в манифесте.
Вы дважды проверили, что ваш ключ API связан с вашим приложением (имя пакета и отпечаток пальца вашего SHA-1 вашего сертификата приложения) в консоли разработчика ?
Инструкции вы найдете в языках регистрации и API . Обязательно настройте его как для отладки, так и для ваших сертификатов выпуска.
Надеюсь, что это поможет!
У меня была такая же проблема. Убедитесь, что вы включили API Google Адресов для Android, а не только API Places в консоли разработчика . «API мест для Android» не будет отображаться под API и amp; Auth / API, потому что это не популярный API (пока). Вам придется искать его с помощью окна поиска API.
Эта проблема также сошла с ума, так много проблем, связанных с этой проблемой, но никто не помог мне. В конце концов, я понял, что существуют различные API Google Адресов, особенно для Android. Следовательно, API-ключ, который я использовал, был просто для версии, отличной от Android.
Создайте свой ключ, используя эту ссылку https://developers.google.com/places/android-api / регистрация
В файле манифеста com.google.android.geo.api_key и com.google.android.maps.v2.API_KEY не должно быть одинаковым.
перейти к https: //console.developers .google.com / project
и выполните следующие действия, чтобы получить ключ для мест размещения.
создать или выбрать существующий> использовать google apis> API Google Places для Android > включить> учетные данные в меню слева> добавить учетные данные> api key> android key> create> copy key.
вставить свой ключ в манифест "com.google.android.geo.api_key"
Примечание: для google places api существует предел 1000 запросов в день. после того, как вы должны заплатить деньги. Лучше избегать PlacePicker.
Добавить компиляцию 'com.google.android.gms:play-services-location:8.1.0'
в gradle
Возможно, вы забыли добавить ключ SHA машины в консоль Google Maps. Столкнувшись с той же проблемой, добавив свой SHA-ключ к консоли, он начал работать нормально.
В моем случае был конфликт API. Я добавил файл google-service.json, у которого также был ключ API, и я создал новый ключ для Карт. Таким образом, сборщик мест сразу закрывался. Решение:
<meta-data
android:name="com.google.android.geo.API_KEY"
android:value="API_KEY" />
Было странно, что для меня это была проблема. Он работает даже без предупреждения в режиме отладки, но когда я использую выпущенную версию моего приложения, он просто не работает (я зарегистрировал ключи для выпуска и отладки sha1). Поэтому я удалил все ограничения и теперь его работу.