系统覆盖 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权限。
- 是否可以使用 NDK 执行此操作?所有必需的 API 通话都可以使用吗?
- 我假设我不会能够使用OpenGL-ES在window(因为它不是全屏)?我很希望能够使用 cocos2d-x 进行图形、输入等,但我觉得这根本不可能。
- 对于此类应用程序使用 NDK 会不会太难了,最好坐下来学习 Java 和 SDK?
(最后一个问题可能有点主观)
在 Android 上,任何你可以用 Java 做的事情,你也可以用 NDK 做,因为你可以简单地使用 JNI。如果您从 NDK 对 Java 进行多次调用,您应该考虑创建一个 JNI 包装器 class,它可以将调用机制减少到更少的行数。
虽然我没有尝试过,但 Android 文档中没有任何内容表明 GLSurfaceView
不能与特定类型的 window 布局一起使用。
我对 Visual C++ 非常有经验,我刚刚开始使用 Visual Studio 2015 C++.[=12= 编写本机 Android C++ 应用程序]
我需要做一个主屏幕覆盖式应用程序,大概是通过使用 TYPE_SYSTEM_OVERLAY window 和 SYSTEM_ALERT_WINDOW权限。
- 是否可以使用 NDK 执行此操作?所有必需的 API 通话都可以使用吗?
- 我假设我不会能够使用OpenGL-ES在window(因为它不是全屏)?我很希望能够使用 cocos2d-x 进行图形、输入等,但我觉得这根本不可能。
- 对于此类应用程序使用 NDK 会不会太难了,最好坐下来学习 Java 和 SDK? (最后一个问题可能有点主观)
在 Android 上,任何你可以用 Java 做的事情,你也可以用 NDK 做,因为你可以简单地使用 JNI。如果您从 NDK 对 Java 进行多次调用,您应该考虑创建一个 JNI 包装器 class,它可以将调用机制减少到更少的行数。
虽然我没有尝试过,但 Android 文档中没有任何内容表明 GLSurfaceView
不能与特定类型的 window 布局一起使用。