JAVA 调用 JS方法报错

  • Creator 版本:2.4.7

  • 目标平台:android

  • 报错信息
    2022-06-07 20:35:26.201 2963-3071/com.jimei.cocos E/JavaScriptJavaBridge: [ERROR] (D:/androidproject/cocos2d-x/cocos/scripting/js-bindings/manual/JavaScriptJavaBridge.cpp, 606): call valid: 1, call.getArgumentsCount()= 0
    2022-06-07 20:35:26.201 2963-3071/com.jimei.cocos E/JavaScriptJavaBridge: [ERROR] Failed to invoke JavaScriptJavaBridge_callStaticMethod, location: D:/androidproject/cocos2d-x/cocos/scripting/js-bindings/manual/JavaScriptJavaBridge.cpp:612

Android代码

app.runOnGLThread(new Runnable() {
@Override
public void run() {
//String evalStr = “cc.director.emit(‘TestDataResultEvent’, 123)”;
Cocos2dxJavascriptJavaBridge.evalString(“runScene();”);
}
});

JS代码

window.runScene = function()

{

window['main'].runScene();

}

TS代码

RunJS("allPermissionOver()");

public static void RunJS(String fun){
        final  String func = "window." + fun;
//        Log.e("Cocos", "func = " + func);
        AppActivity._ins.runOnGLThread(new Runnable() {
            @Override
            public void run() {
                Cocos2dxJavascriptJavaBridge.evalString(func);
            }
        });
    }

window["allPermissionOver"] = () => {
                console.log("allPermissionOver");
            };

试试 cc.runScene()
JS JAVA代码里都用这个!

这是js调用java静态方法出错了吧

JS 方法是不是还没有声明,JAVA层就调用了

是的 是我搞错了

是JS还没有初始化完成 java就去调用了

该主题在最后一个回复创建后14天后自动关闭。不再允许新的回复。