android - 在Android NDK下,是否可以在不调用Java来检索表面的情况下创建 native 窗口?

标签 android android-ndk java-native-interface

我正在尝试使用 C++ 完全以 native 代码开发 Android 应用程序。 Android NDK api 使用 Java 对象。例如我看到的方法:

int32_t ANativeWindow_getHeight(ANativeWindow* window);

但是要创建 ANativeWindow,我需要一个 Java Surface 对象。

ANativeWindow* ANativeWindow_fromSurface(JNIEnv* env, jobject surface);

有没有其他方法可以在不使用任何java对象的情况下获取详细信息?

我不想使用 Java 回调。

最佳答案

这是不可能的……经过很长一段时间我才意识到。答案是使用一些第三方库,这些库将通过 java 回调提供 api。因此,回拨是唯一可用的解决方案。

关于android - 在Android NDK下,是否可以在不调用Java来检索表面的情况下创建 native 窗口?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17320007/

相关文章:

java - eclipse 看不到我的 lenovo S650 手机

android - 机器人 : Test two different activity in one test case

Android StaggeredGridView 问题

android - 如何在 Android shell 中复制和编辑文件?

c - 如何在 Android.mk 中包含父目录包含路径?

android - 如何在android中检测电话广播接收器

go - 在 Ubuntu 18.04 的 $ANDROID_HOME/ndk-bundle 和 $ANDROID_NDK_HOME 中都没有找到 Android NDK

android - 有没有办法可以找出哪个 ndk 版本用于编译 android .so 共享库?

java - 如何修复 onActivityResult 之后 JNI 代码内的 Android 崩溃?

java - 如何在 JNI 中找到对象的字段描述符?