java调用ts方法调不到?

  • Creator 版本:3.8.3

  • 目标平台: Android


    根据官方文档https://docs.cocos.com/creator/3.8/manual/zh/advanced-topics/java-reflection.html
    写了几个java和ts通信的方法,ts调用java的可以跑通,但是java调用ts的方法就不行。
    有大佬指定这个是啥情况吗?

改为事件调用吧,
js:
native.jsbBridgeWrapper.addNativeEventListener(“TEST_EVENT”, args=>{
console.log(“receive Java=”+args);
});
native.bridge.sendToNative(“TEST_EVENT”);

java:
JsbBridge.setCallback(new JsbBridge.ICallback() {
@Override
public void onScript(String eventType, String arg0) {
Log.d(“receive Js”,eventType);
}
})
JsbBridge.sendToScript(“TEST_EVENT”, “param”);

image
把实例对象赋值给window.NativeAPIMgr


这两种都试了,一样的调不到


这么写,也没有调到ts的方法

你java代码初始化了吗?

你直接在Appactivity.java onCreate(){内写注册}

你ts方法写的是静态方法啊

ts方法不能是静态方法?

就是在onCreate里面

你把类的实例赋值,又去调用它的静态方法,肯定不行啊

那我ts代码这边需要怎么改?
我刚才把静态去掉了,还是一样的


这是2.4的,但是我刚看3.8的文档
有点懵逼了

对啊,我一开始就是按照3.8的文档写的,然后就是java调不到ts

你写的这个类不用注册到window吗?

image
这是2.x的,3.8还不一样吗 :rofl:

不知道,蛮试一下呗,也没官方的人来讲一下

还是不行···

java调用ts的方法有没有执行


有走到这个输出,下面是调用ts的,但是ts那边的输出没有