最近加某运营商支付SDK,游戏中有一个界面中取消支付时程序崩溃,其他界面支付或取消正常。看了LogCat,发现“call to OpenGL ES API with no current context(logged once per thread)”。
网上查了一下,发现一个方案。
出这问题,是取消支付时回调Native代码时发生的,回调函数是:
native public void buySuccess(int realIndex);那么应该这样包装一下:
public void buySuccessJava(final int realIndex)
{
Cocos2dxGLSurfaceView.getInstance().queueEvent(new Runnable() {
@Override
public void run() {
buySuccess(realIndex);
}
});
}

本文介绍了一种解决在游戏中使用某运营商支付SDK时出现的崩溃问题的方法。问题出现在取消支付操作时,通过调整调用Native代码的方式,确保了UI线程的正确执行,解决了崩溃现象。
1919

被折叠的 条评论
为什么被折叠?



