So, I have this code in MainSessionNavHostFragment :
override fun onSessionCreated() { super.onSessionCreated() session.webView.settings.userAgentString = customUserAgent(session.webView) session.webView.initDayNightTheme() Timber.v("customUserAgent ${customUserAgent(session.webView)}") if (BuildConfig.DEBUG) { session.setDebugLoggingEnabled(true) WebView.setWebContentsDebuggingEnabled(true) } val actionInvoker = WebViewJavascriptInterface(session.webView.context) session.webView.addJavascriptInterface(actionInvoker, "window.appInterface") session.webView.addJavascriptInterface(actionInvoker, "appInterface") }
and this is my WebViewJavascriptInterface class:
`class WebViewJavascriptInterface(private val context: Context) {
@JavascriptInterface
fun postMessage(message: String?): String {
Timber.v("some vibrate func [$message]")
return message ?: ""
}
So, I have this code in
MainSessionNavHostFragment
:override fun onSessionCreated() { super.onSessionCreated() session.webView.settings.userAgentString = customUserAgent(session.webView) session.webView.initDayNightTheme() Timber.v("customUserAgent ${customUserAgent(session.webView)}") if (BuildConfig.DEBUG) { session.setDebugLoggingEnabled(true) WebView.setWebContentsDebuggingEnabled(true) } val actionInvoker = WebViewJavascriptInterface(session.webView.context) session.webView.addJavascriptInterface(actionInvoker, "window.appInterface") session.webView.addJavascriptInterface(actionInvoker, "appInterface") }
and this is my WebViewJavascriptInterface class: `class WebViewJavascriptInterface(private val context: Context) { @JavascriptInterface fun postMessage(message: String?): String { Timber.v("some vibrate func [$message]") return message ?: "" }
}` this is javascript code
`function postNativeMessage(string, closure = null) { if (!isMobileApp) { return; }
}`
WebViewJavascriptInterface doesn't call any method from js code, what I should to do?