c# - 在 Unity 中检测 applicationDidBecomeActive 何时?

标签 c# unity-game-engine

我们正在尝试检测应用程序在处于后台模式后何时再次激活,我们希望能够在发生这种情况时触发一个方法。这是一个非常简单的想法:甚至还有一个 MonoBehavour 方法 OnApplicationPause 可以在应用程序进入后台模式时使用,但不能用于“OnApplicationResume”。

最佳答案

刚刚尝试过OnApplicationFocus而且效果很好。

bool initialFocus;


void OnApplicationFocus(bool focusStatus)
{
    if (focusStatus)
    {
        //App became active, will fire on application first focus
    }

    if (focusStatus && initialFocus)
    {
        //App became active, after it's been inactive at least once
    }

    initialFocus = initialFocus || focusStatus;
}

此外,在您的问题中,您询问了OnApplicationPause

请注意,事实上 OnApplicationPause 以相同的方式检测暂停和取消暂停 - 它获取一个 bool 作为参数。

  void OnApplicationPause(bool p)
  {
      Debug.Log("The app just " + (p ? "paused" : "unpaused"));
  }

另请注意,OnApplicationQuit 在移动平台上毫无意义。

关于c# - 在 Unity 中检测 applicationDidBecomeActive 何时?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35663149/

相关文章:

c# - 如何处理非 fatal error 情况

android - 从Unity3D调用静态jar函数

iOS Unity Asset Bundle 下载限制 - 粒子效果、动画和动画资源

c# - 同一类型对象中的对象列表?

c# - 如何以触摸方向统一移动对象

c# - Parse.com - 如何统一制作回调函数?

c# - OnTriggerEnter 被调用多次

c# - 如何在 C# 中检测 NTFS 挂载文件夹?

c# - 在 C# View Helper 中使用 Request.QueryString

c# - 在 C# 中获取两个日期之间的月份差异的最简单方法是什么?