Luajavabridge 从Java代码调用Activity时出错
错误提示:call to opengl es api with no current context
错误纠结了我几个小时。不过还好给解决了:)
从GL线程(Lua)进入UI线程(Android UI)后,这是我们进入了Activity1(Luajavabridge.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库。(云盘共享过期失效)