系统覆盖 window 与 Android NDK C++, inc.用于图形的 OpenGL-ES

System overlay window with Android NDK C++, inc. OpenGL-ES for graphics

我对 Visual C++ 非常有经验,我刚刚开始使用 Visual Studio 2015 C++.[=12= 编写本机 Android C++ 应用程序]

我需要做一个主屏幕覆盖式应用程序,大概是通过使用 TYPE_SYSTEM_OVERLAY window 和 SYSTEM_ALERT_WINDOW权限。

  1. 是否可以使用 NDK 执行此操作?所有必需的 API 通话都可以使用吗?
  2. 我假设我不会能够使用OpenGL-ES在window(因为它不是全屏)?我很希望能够使用 cocos2d-x 进行图形、输入等,但我觉得这根本不可能。
  3. 对于此类应用程序使用 NDK 会不会太难了,最好坐下来学习 Java SDK? (最后一个问题可能有点主观)

在 Android 上,任何你可以用 Java 做的事情,你也可以用 NDK 做,因为你可以简单地使用 JNI。如果您从 NDK 对 Java 进行多次调用,您应该考虑创建一个 JNI 包装器 class,它可以将调用机制减少到更少的行数。

虽然我没有尝试过,但 Android 文档中没有任何内容表明 GLSurfaceView 不能与特定类型的 window 布局一起使用。