Как вы получаете ANativeWindow из SurfaceTexture в NDK

У меня есть код OpenGL ES, который был рендерингом в GLSurfaceView , и GLSurfaceView я GLSurfaceView его для работы с SurfaceView и TextureView .

Общий элемент, который мне нужен, и внутри моего собственного кода: ANativeWindow .

Для SurfaceView я получил его, передав Surface :

 m_jwindow = ANativeWindow_fromSurface(env, surface); 

Для TextureView я беру SurfaceTexture , а в API 14 могу использовать это:

 m_jwindow = ANativeWindow_fromSurfaceTexture(env, surface); 

Однако эта функция была удалена в Jellybean. Что оставляет меня интересно, как я могу получить ANativeWindow из SurfaceTexture в API 16+?

Что вам нужно сделать в API 16+, это создать объект Surface, передав SurfaceTexture в качестве аргумента конструктору (который был введен в API 14). Передайте эту поверхность в ANativeWindow_fromSurface() как обычно.