我们正在尝试检测应用程序在处于后台模式后何时再次处于活动状态,我们希望能够在发生这种情况时触发方法。这是一个如此简单的想法:甚至还有一个MonoBehavour方法OnApplicationPause可用作应用程序进入后台模式,但不适用于“OnApplicationResume”。
答案 0 :(得分:2)
刚试过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":"antipaused"));
}
在实践中,"暂停"和#34;焦点"是非常微妙的,取决于你在哪个平台。在实践中,您必须 在项目中仔细尝试 并确定您的行为。这真的很痛苦。
另请注意,OnApplicationQuit
在移动平台上毫无意义。