Ошибка геолокации в webview

#android #android-emulator #geolocation

#Android #android-эмулятор #геолокация

Вопрос:

В эмуляторе Android 2.2 не удается загрузить пустую страницу со следующим сценарием:

 navigator.geolocation.getCurrentPosition(
          function(pos){
            var lat = pos.coords.latitude;
            var lon= pos.coords.longitude;
            alert('success '   lat   ','   lon);
          },
          function(){
              alert('geoloc test FAILED');
          }
        );
  

В частности, это вызывает ошибку:

 I/Database(  306): sqlite returned: error code = 14, msg = cannot open file at source line 25467
  

Я добавил в манифест практически все разрешения, связанные с географией, которые я могу найти:

 <uses-permission android:name="android.permission.ACCESS_GPS" />
<uses-permission android:name="android.permission.ACCESS_ASSISTED_GPS" />
<uses-permission android:name="android.permission.ACCESS_LOCATION" />
<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" />
<uses-permission android:name="android.permission.ACCESS_MOCK_LOCATION" />
  

Я не уверен, что еще я могу сделать! Я занимался этим часами без какого-либо прогресса — любая информация была бы высоко оценена.

(Я могу просмотреть свое местоположение в браузере-эмуляторе после отправки geo fix )

Ответ №1:

Согласно списку рассылки phonegap, эта ошибка является нормальной и может быть безопасно проигнорирована.У всех устройств Android начиная с версии 2.X геолокация встроена в браузер.

Возможно, полезное замечание: при тестировании геолокации мне очень помогло использование DDMS для установки поддельного местоположения или просто telnet на localhost: 5554 и выполнение команды geo fix 50.0 50.0 , например, для установки ложных координат широты / длины gps на (50, 50).