Android веб-сайт обнаруживает местоположение JavaScript - PullRequest
0 голосов
/ 24 февраля 2012

У меня есть веб-страница, местоположение которой успешно обнаруживается в веб-браузере. И в зависимости от местоположения мои результаты отфильтрованы. Я использую тот же URL-адрес веб-сайта в приложении для Android. Но в приложении для Android это определение местоположения Javascript не работает. Любые предложения, что делать здесь?

Заранее спасибо.

Ответы [ 3 ]

2 голосов
/ 29 ноября 2012

Выполнение вышеописанного по-прежнему не работает для меня, но добавление некоторого дополнительного кода не помогло - см. Географическое расположение веб-браузера Android

Я добавил следующее в свой объект веб-просмотра

    // enable geolocationEnabled
    webview.getSettings().setGeolocationEnabled(true);

    // enable JavaScriptCanOpenWindowsAutomatically, not sure if this is needed
    webview.getSettings().setJavaScriptCanOpenWindowsAutomatically(true);

    // set setWebChromeClient
    webview.setWebChromeClient(new WebChromeClient() {
        public void onGeolocationPermissionsShowPrompt(String origin, android.webkit.GeolocationPermissions.Callback callback) {
            callback.invoke(origin, true, false);
        }
    });

По какой-то причине android.webkit.GeolocationPermissions.Callback должен был быть полностью квалифицированным className, после добавления его в качестве импорта он все еще не был распознан Eclipse IDE.

1 голос
/ 24 февраля 2012

Только один вопрос: JS определения местоположения работает в браузере Android (не в Android WebView)?

Можно попробовать добавить следующее в файл манифеста:

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

Во-вторых, установить set-javaScriptEnabled (true) в вашем веб-представлении.Я только что заметил, что кто-то ответил на это ниже.

Подробнее здесь: http://developer.android.com/guide/topics/location/obtaining-user-location.html

1 голос
/ 24 февраля 2012

Вы должны включить Javascript для веб-просмотра.

Для этого

wv = (WebView) findViewById(R.id.web_view);
wv.getSettings().setJavascriptEnabled(true);
...