Вызов API телефонной связи с внешней страницы - PullRequest
2 голосов
/ 12 октября 2011

У меня есть простое приложение для Android, которое ссылается на несколько внешних веб-страниц.Я разместил на этих страницах phonegap.js и пытаюсь получить информацию о GPS, но ничего не получаю.По сути, приложение настроено на использование веб-просмотра для загрузки внешней страницы.На внешней странице просто есть пример кода с сайта телефонного промежутка, но я не получаю никакой информации GPS.Как получить доступ к API телефонной пробки, если страницы js и html находятся на внешнем сервере?

<!DOCTYPE html>
 <html>
  <head>
    <title>Device Properties Example</title>

    <script type="text/javascript" charset="utf-8" src="phonegap-1.1.0.js"></script>
    <script type="text/javascript" charset="utf-8">
    // Wait for PhoneGap to load
    //
    document.addEventListener("deviceready", onDeviceReady, false);

    // PhoneGap is ready
    //
    function onDeviceReady() {

        navigator.geolocation.getCurrentPosition(onSuccess, onError);
    }

    // onSuccess Geolocation
    //
    function onSuccess(position) {
        var element = document.getElementById('geolocation');
        element.innerHTML = 'Latitude: '           +       position.coords.latitude              + '<br />' +
                        'Longitude: '          + position.coords.longitude             + '<br />' +
                        'Altitude: '           + position.coords.altitude              + '<br />' +
                        'Accuracy: '           + position.coords.accuracy              + '<br />' +
                        'Altitude Accuracy: '  + position.coords.altitudeAccuracy      + '<br />' +
                        'Heading: '            + position.coords.heading               + '<br />' +
                        'Speed: '              + position.coords.speed                 + '<br />' +
                        'Timestamp: '          + new Date(position.timestamp)          + '<br />';
}

// onError Callback receives a PositionError object

function onError(error) {
    alert("error");
}

    </script>
  </head>
  <body>
    <p id="geolocation">Finding my geolocation...</p>
  </body>
</html>

1 Ответ

0 голосов
/ 24 ноября 2011

Не имеет значения, находится ли HTML / JS на внешнем сервере или встроен в приложение. В обоих случаях код JS будет выполняться в мобильном браузере на устройстве. Пожалуйста, объясните точную ошибку, которую вы получаете.

Убедитесь, что у вашего собственного приложения есть разрешение на доступ к местоположению: использование-разрешение android: name = "android.permission.ACCESS_COARSE_LOCATION" использование-разрешение android: name = "android.permission.ACCESS_FINE_LOCATION"

Если вы пытаетесь играть на симуляторе Android, обратитесь к следующей особенности Android:

Причуды Android: Симуляторы Android 2.x не будут возвращать результат геолокации, если для параметра enableHighAccuracy не установлено значение true.

{enableHighAccuracy: true}

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...