Взаимодействие java и html5

145
13 июня 2019, 07:20

Нужно поставить обработчиком кода метод из java. Javascrypt не поможет. Читал, что можно через <%@page import="..." %>. Но браузер и эмулятор не воспринимают эти теги и просто пишут текст

Answer 1

Если вам нужно вызвать java-метод из js-кода страницы, можно использовать JavascriptInterface.

В коде android-приложения:

public class WebAppInterface {
    Context mContext;
    WebAppInterface(Context c) {
        mContext = c;
    }
    @JavascriptInterface
    public void showToast(String toast) {
        Toast.makeText(mContext, toast, Toast.LENGTH_SHORT).show();
    }
}
WebView webView = (WebView) findViewById(R.id.webview);
webView.addJavascriptInterface(new WebAppInterface(this), "Android");

В коде страницы:

<input type="button" value="Say hello" onClick="showAndroidToast('Hello Android!')" />
<script type="text/javascript">
    function showAndroidToast(toast) {
        Android.showToast(toast);
    }
</script>
READ ALSO
Подстановка HTMLElement.style

Подстановка HTMLElement.style

Создаю функцию для быстрого создания тега

142
Минимальная высота сколлбара, самопис

Минимальная высота сколлбара, самопис

Всем приветПишу тут скрипт для кастомного скроллбара

157
Get JSON API Wordpress?

Get JSON API Wordpress?

и тут у меня Error

103