
WebView Advanced Guide - JS Bridge, Cookies & File Downloads in Compose
WebView Advanced Guide Accompanist WebView Integration AndroidView ( factory = { context -> WebView ( context ). apply { webViewClient = MyWebViewClient () addJavascriptInterface ( MyJsInterface (), "Android" ) } } ) JavaScript Bridge class MyJsInterface { @JavascriptInterface fun showToast ( message : String ) { // Called from JavaScript } } // Call from JS: Android.showToast("Hello") Evaluate JavaScript webView . evaluateJavascript ( "document.title" ) { result -> Log . d ( "WebView" , "Title: $result" ) } WebViewClient Customization class MyWebViewClient : WebViewClient () { override fun shouldOverrideUrlLoading ( view : WebView ?, request : WebResourceRequest ? ): Boolean { return when ( request ?. url ?. scheme ) { "myapp" -> handleCustomScheme ( request . url ) else -> false } } } CookieManager val cookieManager = CookieManager . getInstance () cookieManager . setAcceptCookie ( true ) cookieManager . setCookie ( url , "session_id=123; Path=/" ) DownloadManager Integration webView
Continue reading on Dev.to Tutorial
Opens in a new tab


