egret-docs-master/Native/manual/runtimestate.md

1.7 KiB
Raw Blame History

title
事件回调

运行过程中 runtime 的事件回调

state

  • 消息类型
{"state”:”starting”}  index加载成功
{"state”:”running”}  js加载成功开始运行游戏
  • 注册监听以Android为例
private void setExternalInterfaces() {
    // handle the state change Event during the running
    nativeAndroid.setExternalInterface("@onState", new INativePlayer.INativeInterface() {
        @Override
        public void callback(String message) {
            String str = "Native get onState message: ";
    
            str += message;
            Log.e(TAG, str);
        }
    });
}

error

  • 消息类型
{"error":"load"}  index加载失败
{"error":"start"}  js加载失败
{"error”:”stopRunning”}  运行过程中出现异常中断了引擎的心跳一般会先抛出jsError
  • 注册监听以Android为例
private void setExternalInterfaces() {
    // handle the error Event during the running
    nativeAndroid.setExternalInterface("@onError", new INativePlayer.INativeInterface() {
        @Override
        public void callback(String message) {
            String str = "Native get onError message: ";
    
            str += message;
            Log.e(TAG, str);
        }
});

jsError

  • 注册监听以Android为例
private void setExternalInterfaces() {
    // handle the error Event during the running
    nativeAndroid.setExternalInterface("@onJSError", new INativePlayer.INativeInterface() {
        @Override
        public void callback(String message) {
            // 参数为堆栈信息
            String str = "Native get onJSError message: ";
    
            str += message;
            Log.e(TAG, str);
        }
});