Android onSurfaceCreated不适用于gl调用

Android onSurfaceCreated不适用于gl调用,android,opengl-es,opengl-es-2.0,google-cardboard,Android,Opengl Es,Opengl Es 2.0,Google Cardboard,我正在使用Carboard SDK开发android应用程序 MyMainActivity扩展了CardboardActivity并实现了CardboardView.StereoRenderer,基本上遵循了Google教程 然而,我注意到,在我的onSurfaceCreated覆盖中的OpenGL调用没有任何效果,例如,如果我调用GLES20.glClearColor(…)intrideonSurfaceCreated,则清除的颜色仍然是黑色。但是,如果我在onNewFrame或ondrawy

我正在使用Carboard SDK开发android应用程序

My
MainActivity
扩展了
CardboardActivity
并实现了
CardboardView.StereoRenderer
,基本上遵循了Google教程

然而,我注意到,在我的
onSurfaceCreated
覆盖中的OpenGL调用没有任何效果,例如,如果我调用
GLES20.glClearColor(…)
intride
onSurfaceCreated
,则清除的颜色仍然是黑色。但是,如果我在
onNewFrame
ondrawye
内部调用
glClearColor
,则清晰的颜色将更改为我所调用的颜色

我注意到两件事:

1) IDE建议的签名是
public void onSurfaceCreated(EGLConfig EGLConfig)
,而我在谷歌上搜索时注意到有一个
onSurfaceCreated(GL10,EGLConfig)
。。。签名变了吗

2) 我在日志窗口上连续收到六份报告说

E/libEGL:在没有当前上下文的情况下调用OpenGL ES API(只记录一次) 每个线程)

甚至在调用我的
onSurfaceCreated
之前(调用我的每个函数时我都会记录)。我不认为这是错误的原因,因为当我将
glClearColor
调用移动到
onNewFrame
时,它工作正常,但也许有人可以指出我做错了什么


所以我的问题是,为什么我不能在我的
onSurfaceCreated
函数中调用OpenGL来产生任何效果呢?

观察到了同样的情况。这似乎是一个相当古老的bug()。看起来还没有修复,但可能这是唯一一个不起作用的函数调用。你查过了吗


好的,我已经检查过了,似乎只有glClearColor函数受到影响。尝试在onSurfaceCreated内部创建着色器,一切正常。

听起来像是
onSurfaceCreated
不是从您的GL上下文在Anks Markus上的同一线程调用的。不知怎的,我知道这不是我的错,感觉好多了!我将检查它是否是唯一不起作用的函数,如果不是,我将在onNewFrame内创建一个第一次测试。。。这不是最好的解决方案,但真见鬼。。。