MainActivity.kt
val webView = findViewById<WebView>(R.id.webView)
webView.settings.javaScriptEnabled = true
webView.settings.domStorageEnabled = true
webView.settings.builtInZoomControls = true
webView.settings.displayZoomControls = false
webView.loadUrl("file:///android_asset/index.html")
webView.webViewClient = object : WebViewClient() {
override fun onPageFinished(view: WebView, url: String) {
webView.evaluateJavascript("document.getElementById('kotlin-test').innerText = 'KOTLIN BABYYYYYYYY'", null)
}
}
androidmanifest.xml
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools">
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<activity
android:name=".MainActivity"
android:configChanges="uiMode|screenSize|orientation|screenLayout|smallestScreenSize"
android:exported="true">
@media (prefers-color-scheme: dark) {
body {
background-color: #333;
color: pink;
}
}
https://stackoverflow.com/a/68794366
https://developer.android.com/develop/ui/views/layout/webapps/webview?hl=pt-br#BindingJavaScript
https://stackoverflow.com/a/6357223