#javascript #android #webkit #android-webview #message-handlers
#язык JavaScript #Android #webkit #android-webview #обработчики сообщений
Вопрос:
Это моя функция javascript-
function backHomePage(message){window.webkit.messageHandlers.backHomePage.postMessage(message);}
в итоге это называется- backHomePage('popup');
Теперь в моем приложении для Android я хочу добавить эту функцию javascript в свой JavascriptInterface.
Я сделал следующий подход-
override fun onPageStarted(view: WebView?, url: String?, favicon: Bitmap?) { super.onPageStarted(view, url, favicon) webview_.evaluateJavascript("window.webkit = { messageHandlers: { backHomePage: window.backHomePage('popup')} }") {} } webview_.addJavascriptInterface(WebAppInterface(this),"backHomePage") webview_.loadUrl(url)
и мой класс WebAppInterface выглядит так-
class WebAppInterface(private var mContext: Context) { fun WebAppInterface(c: Context) { mContext = c } @JavascriptInterface fun postMessage() { Log.d("tag", "postMessage message") }
Сейчас я не понимаю, в чем я отстаю, Так как я сделал все по своему разумению. Кто-нибудь может, пожалуйста, помочь?