Хобрук: Ваш путь к мастерству в программировании

Android PlacePicker закрывается через 2 секунды после запуска

К сожалению, я не смог найти ответ на странице Android Place Picker закрывается сразу после запуска. Для меня запускается PlacePicker, показывает местоположение как неизвестное, а затем возвращается с кодом результата 2.

Чтобы подтвердить некоторые истины: у моего приложения пока есть два действия. Первое действие — это карта, которая пока работает нормально; там нет проблем. Во втором действии есть кнопка, которая позволяет пользователю запускать PlacePicker. Тот факт, что первое действие запускает карту без проблем, должен убедить вас, читатель, в том, что мой манифест в порядке и что в моей консоли Google Api есть правильные данные. Так что у меня остается вопрос: что я делаю не так? Я использую точный пример как https://developers.google.com/places/android-api/placepicker. На самом деле вот мой код

try {
  IntentBuilder builder = new IntentBuilder();
  startActivityForResult(builder.build(this), REQUEST_PLACE_PICKER);
} catch (GooglePlayServicesRepairableException e) {
  e.printStackTrace();
} catch (GooglePlayServicesNotAvailableException e) {
  e.printStackTrace();
}

а потом

@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    if (RESULT_OK != resultCode) {
        Log.d(TAG,"bad result: "+resultCode);
        return;
    }
    if (REQUEST_PLACE_PICKER == requestCode) {
        Place place = PlacePicker.getPlace(data, this);
        String toastMsg = String.format("Place: %s", place.getName());
        Toast.makeText(this, toastMsg, Toast.LENGTH_LONG).show();
    }
}

и вот мой полный журнал

 D/ViewRootImpl: ViewPostImeInputStage ACTION_DOWN
 W/IInputConnectionWrapper: showStatusIcon on inactive InputConnection
 D/SRIB_DCS: log_dcs ThreadedRenderer::initialize entered! 
 D/AddLocationActivity: bad result: 2

  • Столкнулся с той же проблемой. Вы нашли какое-нибудь решение? 05.03.2016

Ответы:


1

Убедитесь, что вы добавили ключ sha-1 в консоль Google API.

Как получить отпечаток SHA-1: https://developers.google.com/places/android-api/signup#debug-cert в идеале вы должны добавить ключ отладки SHA-1 и ключ выпуска SHA-1 в консоль, чтобы оба ключа могли использовать API.

Вы должны выполнить шаги, описанные на этой странице, и убедиться, что ничего не пропустили: https://developers.google.com/places/android-api/signup#api-console

19.06.2017

2

Я решил эту проблему, войдя в свою консоль разработчика Google. Затем перейдите в Api > Dashboard и нажмите ВКЛЮЧИТЬ API И УСЛУГИ.

Ссылка на панель инструментов Google Developer API

17.01.2018

3

Проверьте панель управления API для своего приложения. Если вы не видите обращений API для API "Places SDK для Android", возможно, этот API не включен. Если вы видите, что этот API был атакован, проверьте ошибки. Если вы видите ошибку 403, возможно, вы используете 1) неверный ключ Android, 2) неправильное ограничение приложения, 3) неправильное ограничение API или их комбинацию.

08.10.2018
Новые материалы

Основы принципов S.O.L.I.D, Javascript, Git и NoSQL
каковы принципы S.O.L.I.D? Принципы SOLID призваны помочь разработчикам создавать надежные, удобные в сопровождении приложения. мы видим пять ключевых принципов. Принципы SOLID были разработаны..

Как настроить Selenium в проекте Angular
Угловой | Селен Как настроить Selenium в проекте Angular Держите свое приложение Angular и тесты Selenium в одной рабочей области и запускайте их с помощью Mocha. В этой статье мы..

Аргументы прогрессивного улучшения почти всегда упускают суть
В наши дни в кругах веб-разработчиков много болтают о Progressive Enhancement — PE, но на самом деле почти все аргументы с обеих сторон упускают самую фундаментальную причину, по которой PE..

Введение в Джанго Фреймворк
Схема «работать умно, а не усердно» В этой и последующих статьях я познакомлю вас с тем, что такое фреймворк Django и как создать свое первое приложение с помощью простых и понятных шагов, а..

Настольный ПК как «одно кольцо, чтобы править всеми» домашних компьютеров
Вид после 9 месяцев использования С настольных компьютеров все началось, но в какой-то момент они стали «серверами», и мы все перешли на ноутбуки. В прошлом году я столкнулся с идеей настольных..

Расширенные методы безопасности для VueJS: реализация аутентификации без пароля
Руководство, которое поможет вам создавать безопасные приложения в долгосрочной перспективе Безопасность приложений часто упускается из виду в процессе разработки, потому что основная..

стройный-i18следующий
Представляем стройную оболочку для i18next. Эта библиотека, основанная на i18next, заключает экземпляр i18next в хранилище svelte и отслеживает события i18next, такие как languageChanged,..