2

我正在尝试在 Android 上使用简单的 SDL2 制作一些项目。

我首先尝试编译存档中给出的示例tesgesture.c,您可以在此处查看代码

它在我的 Android 手机上运行良好,但每当我暂停应用程序(启动另一个,无论如何),当我恢复它时,应用程序冻结并停止响应(我认为这是因为我们还没有返回 SDL 线程)。

我发现这是一个常见问题,但没有找到任何明确的解决方案。

我尝试应用此补丁并将这些事件添加到我的开关:

case SDL_SYSEVENT_TERMINATE:
case SDL_SYSEVENT_SUSPEND:
case SDL_SYSEVENT_RESUME :
case SDL_SYSEVENT_WILL_RESUME :
case SDL_SYSEVENT_WILL_SUSPEND:

但它不会改变任何东西。

我还看到,当应用程序置于后台时,事件似乎SDL_WINDOWEVENT_MINIMIZEDSDL_WINDOWEVENT_FOCUS_LOST发送的,所以我测试了:

case SDL_WINDOWEVENT:
    if (event.window.event == SDL_WINDOWEVENT_MINIMIZED ||
            event.window.event == SDL_WINDOWEVENT_FOCUS_LOST) {
        SDL_Quit();
        return 1;
    }
    break;

没有更多的成功。

那么有人知道如何捕捉这些事件吗?

4

0 回答 0