我的應用程序需要在啓動之前檢查一些OpenGL ES功能的可用性。靜態調用glGetString()在Android 5.0中返回null
這與下面的Java代碼來完成:
String extensions = GLES20.glGetString(GLES20.GL_EXTENSIONS);
和它的工作在Android上高達4.4的版本,但現在返回null,日誌說
10-28 17:53:49.475: E/libEGL(8930): call to OpenGL ES API with no current context (logged once per thread)
如何獲得這個信息在Android 5.0上?我是否需要創建一個新的OpenGL ES上下文?什麼是最簡單的方法呢?
在創建OpenGL上下文之前,您無法運行GL函數。當靜態初始化器運行時,你很可能沒有一個。 – 2014-10-28 17:36:10
這就是我不明白的地方。它一直工作,但在Android 5.0上它不再有了。有沒有辦法創建一個「虛擬」上下文並調用這個靜態函數? – 2014-10-28 20:12:57
我不瞭解Android編程,但我懷疑Android是否爲您設置了上下文,並且5.0之前的版本在初始化靜態變量之前設置了它,而5.0版本則沒有。而是在靜態上下文中檢查,首次檢查是否開始繪製。 – 2014-10-28 20:24:07