JS层调用到Java层


JS层调用到Java层

  • js
1
2
3
4
if (cc.sys.OS_ANDROID == cc.sys.os) {
jsb.reflection.callStaticMethod("org/cocos2dx/javascript/AppActivity", "login", "(Ljava/lang/String;)V", xxx);
return true;
}
  • java
1
2
3
public static void login(final String xxx) {

}

如果在此处需要有UI层的界面显示,需要启用UI线程来操作。

1
2
3
4
5
6
AppActivity.this.runOnUiThread(new Runnable() {
@Override
public void run() {

}
});

因为在android平台,cocos的渲染和JS的逻辑是在GL线程中进行的,而android本身的UI更新是在app的UI线程进行的。