Android: щелчок внутри WebView вызывает обратный вызов приложения Android - PullRequest
2 голосов
/ 10 февраля 2010

Я думаю о внедрении панели приветствия HTML в наше приложение для Android, которое представляет новости и предложения на начальном экране. Теперь у меня вопрос: если я представлю предложение в определенном месте (с id string), могу ли я вызвать обратный вызов из WebView (возможно, через Java Script) в приложение Android и передать это id string, чтобы оно начало новый Activity, который загружает и показывает данные с сервера (JSON) в зависимости от этого id string?

Вторая часть уже реализована и работает. Моя главная задача - как вернуть id string из HTML WebView в приложение Android, когда пользователь нажимает на него.

Мы предпочитаем использовать WebView для этой конкретной панели приветствия, поскольку она дает нам больше гибкости для настройки с использованием HTML.

Ответы [ 2 ]

4 голосов
/ 15 октября 2011

Возможно, лучше использовать WebView.addJavascriptInterface , а не перегружать onJsAlert.

3 голосов
/ 10 февраля 2010

Да, действительно, вы можете хорошо, сэр! Если вы показываете данные в предупреждении javascript, вы можете записать их так Это может быть не самый аккуратный способ, но это работает =)

private void loadWebViewStuff() {
        myWebView.setWebChromeClient(new MyWebChromeClient());
        myWebView.loadUrl(URL);
}


final class MyWebChromeClient extends WebChromeClient {
    @Override
    public boolean onJsAlert(WebView view, String url, String message, JsResult result) {
        //"message" is what is shown in the alert, here we can do whatever with it
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...