我们正在尝试检测应用程序在处于后台模式后何时再次激活,我们希望能够在发生这种情况时触发一个方法。这是一个非常简单的想法:甚至还有一个 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/