I have editable webview. I'm using webview as rich text editor. WebViewClient as AccompanistWebViewClient.
And on onPageFinished I have css injection to webview
view?.evaluateJavascript(js, null)
but how can I return content from webview? I want retrieve webview content from my ViewModel class
val fullContentHtml =
rememberWebViewStateWithHTMLData(data = "$contentEditableHtml$messageContentHtml</div>")
WebView(
modifier = Modifier
//.verticalScroll(rememberScrollState())
.fillMaxSize()
.padding(horizontal = 8.dp),
state = fullContentHtml,
onCreated = { webView ->
webView.settings.javaScriptEnabled = true
webView.settings.allowContentAccess = true
},
client = remember { webViewClient },
chromeClient =
remember {
chromeViewClient
}
)
Here is a simple example of how to communicate to Android System using Webview In Jetpack Compose.
Here we have taken a sample HTML file and a simple JavaScript Function.
After that make an interface which will deal with JavaScript and act upon it.
Sample HTML File with JavaScript
Make an interface to deal with JavaScript
Usage