使用方法 jsb.reflection.callStaticMethod ,该方法有四个参数
1)Java的类名(文件的相对路径下) 一般是包名/类名
2)函数名(必须是公共静态方法)
3)(参数类型)返回值类型
1.无参数无返回值 ()V
2.无参数有返回值为boolean ()Z
3.有参数无返回值 (I)V , 多个参数 (II)V
4.有参数有返回值为boolean (I)Z
4)参数列表
参数类型说明:
1)int 用 "I" 表示
2)float 用 "F" 表示
3)boolean 用 "Z" 表示
4)string 用 "Ljava/lang/String;" --- ";"必不可少
5)()表示没有参数
1. js/ts 调用 Java ,静态方法映射
方式一:无参调用
jsb.reflection.callStaticMethod("a/b/c/classJava", "wxLogin", "()V");
其中"a/b/c" 是 Java类 classJava 的绝对路径,"wxLogin" 为java类中的公共静态方法
方式二:有参数调用
jsb.reflection.callStaticMethod("a/b/c/classJava", "copyText", "(Ljava/lang/String;)V", str);
2. Java 回调 js/ts, 注意,回调的方法必须是全局方法,比如
cc.wxLoginCallFunc = function (code) {
console.log("登录返回",code);
}
Java回调
Cocos2dxJavascriptJavaBridge.evalString(String.format("cc.wxLoginCallFunc(\'%s\');", "code"));