- Creator 版本:3.5.2
打包成h5后,嵌入到其他app里面,ts和这个app的java要怎么互调?
用jsb.reflection.callStaticMethod和jsb.bridge.onNative,sendToNative试过了,但是都没调通。
需要做什么其他的操作吗?
问你们安卓的同事即可,他们在webview里给JS runtime注入代码来实现通信
creator这边什么都不用做吗?
调用java的函数要怎么写呢?不可能跟咱们平常写ts那样直接调吧
要啊
下面都是伪代码,具体你们自己定
java调js,你定义一个函数window.callME = function (){},java调runtime.call(“window.callME”)
js调java,java先注入函数runtime.inject(“window.callJava”, this.jsCallMe), 你调window.callJava(xxx)

这样就可以和java互调了?
剩下的自己研究了,重点已经告诉你了
看你的描述,你应该是用Android的webview打包,正好我最近也是这么干的。
一:Android调用js
webview.loadUrl(“javascript:xxx()”);
xxx就是js里面的全局方法,例如window.xxx=function(){};
二:js调用Android
①Android要先定义一个js对象
webview.addJavascriptInterface(this,“android”);
其中android就是供js调用的对象。
在this当前类定义方法
@JavascriptInterface
public void callAndroid(String url){
//url就是js的传参
}
②js访问android对象
android&&android.callAndroid(‘https://cocos.org/’);
注意:webview要做如下设置
WebSettings websettings=webview.getSettings();
websettings.setJavaScriptEnabled(true);
这一段是java层写的是吧?
你光看语法就知道是java代码了。
jsb是给打包成安卓工程用的, 你打包成h5是应该是跑在安卓的webview里面, 这个时候你就得去看一下安卓的webview相关文档。
https://developer.android.google.cn/guide/webapps/webview?hl=zh-cn#UsingJavaScript