import android.webkit.WebView
import android.webkit.WebViewClient
import android.webkit.WebChromeClient
import android.webkit.WebSettings
class WebContainerActivity : AppCompatActivity() {
private lateinit var webView: WebView
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_web_container)
webView = findViewById(R.id.webview)
configureWebView()
webView.loadUrl("https://example.com")
}
private fun configureWebView() {
webView.settings.apply {
javaScriptEnabled = true
domStorageEnabled = true
allowFileAccess = false
cacheMode = WebSettings.LOAD_DEFAULT
mixedContentMode = WebSettings.MIXED_CONTENT_NEVER_ALLOW
}
webView.webViewClient = object : WebViewClient() {
override fun shouldOverrideUrlLoading(
view: WebView,
request: WebResourceRequest
): Boolean {
return handleUrl(request.url.toString())
}
override fun onPageFinished(view: WebView, url: String) {
injectNativeBridge()
}
}
webView.addJavascriptInterface(
NativeBridge(),
"AndroidBridge"
)
}
}
import android.webkit.WebView
import android.webkit.WebViewClient
import android.webkit.WebChromeClient
import android.webkit.WebSettings
class WebContainerActivity : AppCompatActivity() {
private lateinit var webView: WebView
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_web_container)
webView = findViewById(R.id.webview)
configureWebView()
webView.loadUrl("https://example.com")
}
private fun configureWebView() {
webView.settings.apply {
javaScriptEnabled = true
domStorageEnabled = true
allowFileAccess = false
cacheMode = WebSettings.LOAD_DEFAULT
mixedContentMode = WebSettings.MIXED_CONTENT_NEVER_ALLOW
}
webView.webViewClient = object : WebViewClient() {
override fun shouldOverrideUrlLoading(
view: WebView,
request: WebResourceRequest
): Boolean {
return handleUrl(request.url.toString())
}
override fun onPageFinished(view: WebView, url: String) {
injectNativeBridge()
}
}
webView.addJavascriptInterface(
NativeBridge(),
"AndroidBridge"
)
}
}