【问题标题】:System overlay window with Android NDK C++, inc. OpenGL-ES for graphics使用 Android NDK C++, inc. 的系统覆盖窗口用于图形的 OpenGL-ES
【发布时间】:2017-02-23 09:40:31
【问题描述】:

我对 Visual C++ 非常有经验,并且我刚刚开始使用 Visual Studio 2015 C++ 编写原生 Android C++ 应用程序。

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

  1. 是否可以使用 NDK 执行此操作?是否可以使用所有必需的 API 调用?
  2. 我是否正确地假设我不会能够使用 OpenGL-ES 在窗口中显示我的图形(因为它不是 全屏)?我希望能够将 cocos2d-x 用于图形、输入等,但我有一种感觉根本不可能。
  3. 在这种类型的应用程序中使用 NDK 会不会太难,最好坐下来学习 JavaSDK强>? (最后一个问题可能有点主观)

【问题讨论】:

  • 你绝对不能在android上使用OpenGL。大概你想使用 OpenGL-es。
  • @BDL 大概我的意思是 Gl Es!
  • FWIW,你可以在一些安卓设备上做OpenGL:jamesdolan.blogspot.ca/2014/06/…
  • @MuertoExcobito 谢谢,但是这让人很不舒服 :-)

标签: opengl-es android-ndk homescreen cocos2d-x-3.x home-screen-widget


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2015-12-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-24
    • 1970-01-01
    • 2018-11-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多