Luajavabridge 从Java代码调用Activity时出错

错误提示:call to opengl es api with no current context

错误纠结了我几个小时。不过还好给解决了:)

 

GL线程(Lua)进入UI线程(Android UI)后,这是我们进入了Activity1Luajavabridge.java),

调用startActivity()进入了Activity2,处理了相关的操作以后,直接使用函数接口回调时,会报错。

具体原因不太清楚为什么会报no current context的错误。但是从我解决的办法上,应该或多或少知道了大概的原因。

解决方法:

我们不能从Activity2直接回调函数,进入GL线程,而是先返回到Activity1中,然后再进入GL线程。这时就可以了。

大概代码:

Activity2 :(通过这个代码返回到我们之前跟GL通信的Activity中,也就是那个Luajavabridge)

          Intent intent = new Intent();
		intent.setClass(activity, Luajavabridge.class);
		startActivity(intent);
		FunctionCalc.s_callBack.captureDone();

先返回到Activity1后,再调用callback回调接口,进入GL线程。

=====================再此编辑2014年10月13日15:03:56=========================

当初解决的问题是cocos2dx游戏中使用二维码扫描这个功能。多平台,其中包括ios和android的二维码集成。ios的集成我有篇blog。

android集成没有写过。这次又重新集成了一次。把一些资源共享到自己的群里。比如zxing的android库。(云盘共享过期失效)

posted @ 2014-03-10 17:27  Mr轨迹  阅读(412)  评论(0编辑  收藏  举报