js2android-bridge-demo:js 与原生 android 交互 demo,包含 js 调用 native 以及 native 调用 js

时间:2024-05-30 03:34:40
【文件属性】:

文件名称:js2android-bridge-demo:js 与原生 android 交互 demo,包含 js 调用 native 以及 native 调用 js

文件大小:145KB

文件格式:ZIP

更新时间:2024-05-30 03:34:40

Java

简介 重写 WebChromeClient 拦截 window.prompt 以达成 js 调用 native。 主动使用 webview.loadUrl("[removed]functionName(params)") 调用 js 中的方法。 原理 通过重写 WebChromeClient 的 onJsPrompt 方法,在可以拦截到 window.prompt(msg) 中的 msg 参数。而 native 和 js 端则以 msg 为解析协议,使用 java 的反射原理在 native 端进行类的调用。 协议基本结构:${sechema}://${host}:${port}/${path}?${params} js 端使用的协议 `${SECHEMA}://${obj}:${callBackNo}/${method}?${params}` SECHEMA: 协议常量,带有此常量的


【文件预览】:
js2android-bridge-demo-master
----gradlew.bat(2KB)
----gradlew(5KB)
----gradle.properties(726B)
----ReadMe.md(5KB)
----app()
--------proguard-rules.pro(751B)
--------src()
--------.gitignore(7B)
--------build.gradle(941B)
----gradle()
--------wrapper()
----.idea()
--------caches()
--------codeStyles()
--------gradle.xml(626B)
--------runConfigurations.xml(564B)
--------misc.xml(2KB)
--------vcs.xml(180B)
--------dictionaries()
----.gitignore(137B)
----settings.gradle(15B)
----build.gradle(546B)

网友评论