Ionic с эмулятором Android: автоматически отправлять местоположение?

У меня проблема с эмулятором Android. Когда я закрываю и снова открываю свое приложение, местоположение не отправляется автоматически. Мне нужно зайти в «Расширенные элементы управления» -> «Местоположение» и нажать кнопку «Отправить», чтобы функция Ionic Geolocation getCurrentPosition получила ее.

Когда я загружаю эмулятор Android и приложение открывается в первый раз, в этом нет необходимости. Любая идея, как отправить местоположение автоматически, несмотря ни на что?


person Alex Palacios    schedule 03.10.2017    source источник
comment
вы пробовали в мобильном? это поведение наблюдается и на мобильных устройствах? обычно эмулятор не работает так, как вы хотите его определить   -  person The Blue Shirt Developer    schedule 06.10.2017
comment
Почему-то на мобильном устройстве работает нормально. Это просто эмулятор андроида.   -  person Alex Palacios    schedule 06.10.2017


Ответы (1)


Как правило, для тестирования плагинов нам нужно проверить их на реальном устройстве, но, как и ваш первоначальный вопрос об использовании его в эмуляторах, чтобы это сработало,

  1. Попробуйте очистить кеш кордовы (если вы используете Visual Studio, вы можете сделать это как Инструменты->Параметры)

  2. Попробуйте добавить функцию watchPosition с помощью enableHighAccuracy : true

navigator.geolocation.watchPosition(onSuccess, onError, { 
    timeout:40000,
    enableHighAccuracy: true 
});

Обновление:

После быстрого поиска в Google нашел это ссылка, там написано что:

Начиная с Chrome 50, Chrome больше не поддерживает получение местоположения пользователя с помощью API геолокации HTML5 со страниц, доставляемых по незащищенным соединениям. Это означает, что страница, выполняющая вызов Geolocation API, должна обслуживаться из безопасного контекста, такого как HTTPS.

Возможное решение может быть таким:

Добавив соответствующие разрешения на платформе Android, откройте свой проект, найдите AndroidManifest.xml и добавьте следующие строки:

<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />

Для получения дополнительной информации прочитайте это статью и эту тему

person The Blue Shirt Developer    schedule 07.10.2017
comment
Спасибо за предложения. К сожалению, я некоторое время боролся с этой проблемой, и, похоже, ни одно из этих решений не могло исправить это. На данный момент обходного пути будет достаточно. - person Alex Palacios; 08.10.2017
comment
Мне нужно зайти в «Расширенные элементы управления» -> «Местоположение» и нажать кнопку «Отправить», чтобы функция Ionic Geolocation getCurrentPosition получила ее. - person Alex Palacios; 08.10.2017