我发现我的应用仅在iPhone X系列设备上就接到了applicationWillResignActive
的电话,然后几乎没有理由立即拨打了applicationDidBecomeActive
的电话。这两个事件之间的延迟为0.05到1-2秒。我的猜测是,可能是由于屏幕底部的轻微触摸首先触发了任务切换器,然后由于触摸没有拖动而结束,因此任务切换器取消了其操作。
看看this post,看来这也可以解释那里出现额外通知的原因。
关于为什么会发生这种情况以及如何可靠地将其滤除的任何想法?
在我的情况下,该应用程序在Unity中运行,并且在applicationWillResignActive进入后Unity会冻结托管代码1帧,因此没有机会启动计时器并将其置于托管代码的后台1秒钟。即使我可以用OnApplicationFocus()
过滤掉hasFocus==true
,但由于它我不能用hasFocus==false
做同样的事情。