当前位置: 首页 > news >正文

android compose webView js交互

android compose webView js交互

android compose webView js交互

android 调用javascript 代码:evaluateJavascript("document.title") { result -> println("document.title:$result")}

AndroidView(factory = { context ->WebView(context).apply {loadUrl("file:android_asset/test.html")settings.javaScriptEnabled = true
//                settings.textZoom = 2layoutParams = ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT,ViewGroup.LayoutParams.MATCH_PARENT)// 添加 JavaScript 接口addJavascriptInterface(WebAppInterface(context),"Android")webViewClient = object: WebViewClient() {override fun onPageFinished(view: WebView?, url: String?) {super.onPageFinished(view, url)println("apply title:${title}")evaluateJavascript("window.test01()") { result -> println("result:$result")}evaluateJavascript("document.title") { result -> println("document.title:$result")}}}}})

  

// JavaScript 接口类
class WebAppInterface(private val context: Context) {@JavascriptInterfacefun playAudio(message: String) {Toast.makeText(context, "playAudio: $message", Toast.LENGTH_SHORT).show()}@JavascriptInterfacefun stopAudio() {Toast.makeText(context, "stopAudio", Toast.LENGTH_SHORT).show()}
}

  html  javascript 调用

<button onclick="Android.playAudio('mp3')">playAudio</button>
<button onclick="Android.stopAudio()">stopAudio</button>

 

参考:https://www.cnblogs.com/m18320364494/p/9440048.html