首页 > 解决方案 > 应用关闭后调用函数

问题描述

我需要在关闭应用程序(Windows 独立应用程序)而不是 OnApplicationClose() 函数后调用一个函数。

该函数还依赖于类中的变量(IntPtr 变量)。

我试图将此函数设为 IEnumerator 并从 OnApplicationClose() 调用它,但我不知道这是否可行,或者它是否是正确的方法:

void OnApplicationQuit()
{
    StartCoroutine(OnClose());
}

private IEnumerator OnClose()
{
    yield return new WaitForSeconds(5);
    // After close function
}

我的问题是我想在应用程序退出后调用的函数需要很长时间,所以我需要先关闭应用程序,然后再调用这个函数。

标签: c#multithreadingunity3dexitcoroutine

解决方案


通过协程是不可能的。协程在主线程上运行,这会被您的应用程序杀死。

但是,如果您是为 android 开发,您可以编写一个服务。然后在 中OnApplicationQuit,您可以通过 JNI 发送消息来执行您想要的任何任务。


推荐阅读