Я не знаю ни одного примера кода, но если у вас есть SurfaceView
, вы хотите получить от него Surface
, и из этого вы можете получить (в C) ANativeWindow
для создание VkSurfaceKHR
/ VkSwapchainKHR
. Последовательность что-то вроде:
Java: surface = surfaceView->getHolder()->getSurface();
Передать поверхность для вызова JNI в C как jobject
.
C: window = ANativeWindow_fromSurface(env, jsurface);
Эта функция объявлена в заголовке NDK android/native_window_jni.h
.
Вы захотите зарегистрировать обратные вызовы с помощью SurfaceView
SurfaceHolder
и правильно управлять жизненным циклом окна (который связан с жизненным циклом Activity).