c# - 应用关闭后调用函数
问题描述
我需要在关闭应用程序(Windows 独立应用程序)而不是 OnApplicationClose() 函数后调用一个函数。
该函数还依赖于类中的变量(IntPtr 变量)。
我试图将此函数设为 IEnumerator 并从 OnApplicationClose() 调用它,但我不知道这是否可行,或者它是否是正确的方法:
void OnApplicationQuit()
{
StartCoroutine(OnClose());
}
private IEnumerator OnClose()
{
yield return new WaitForSeconds(5);
// After close function
}
我的问题是我想在应用程序退出后调用的函数需要很长时间,所以我需要先关闭应用程序,然后再调用这个函数。
解决方案
通过协程是不可能的。协程在主线程上运行,这会被您的应用程序杀死。
但是,如果您是为 android 开发,您可以编写一个服务。然后在 中OnApplicationQuit
,您可以通过 JNI 发送消息来执行您想要的任何任务。
推荐阅读
- redux-observable - 如何等待其他史诗完成然后调用回调?
- javascript - 在 window.open 之后加载 CSS 文件
- excel - Excel Power Query 高级编辑器将代码分解为多个步骤
- python - 我怎样才能简化这个python迭代?
- python - Kivy - 使用动态类设置事件动作
- html - 如何将换行符放入垫选项中?
- c# - 如何合并 CSV 以保留特殊字符
- sql - 如果未找到数据,则不显示
- scala - 为什么 Scala 中的类型注释会改变一个 val
- javascript - 如果选择了单选按钮,则将表格行中的模型数据获取到控制器/模型