Android上的SDL2,如何捕获onResume事件?

时间:2013-03-04 00:05:03

标签: android android-ndk sdl activity-lifecycle

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

我首先尝试编译归档tesgesture.c中给出的示例,您可以看到the code here

它在我的Android手机上工作正常,但每当我暂停应用程序(启动其他任何东西)时,当我恢复它时,应用程序冻结并停止响应(我认为因为我们没有回到SDL线程)。

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

我尝试应用this patch并将这些事件添加到我的交换机:

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;

没有太多成功。

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

0 个答案:

没有答案