我的应用程序必须启动自动听写(使用 presentTextInputControllerWithSuggestions 并提供一系列空的建议)。为此,我在某个屏幕上安排了在X秒之后延迟的听写。
但是,当用户在开始听写之前退出应用程序时,我遇到了问题。
一开始,我只是安排了听写。如果我离开应用程序,听写就在后台开始,当我回到应用程序时,我看到了我的屏幕,但没有听写屏幕。如果我试图重新启动听写,它就不起作用(调用函数并开始听写,但也在后台启动,屏幕也不会改变)。
所以,如果应用程序之前离开,我尽量不开始听写。为此,我在ExtentienDelegate中的applicationWillResignActive函数中更改了一个布尔值。但是,我的问题是,当用户退出应用程序时,不会立即调用此函数。 因此,如果用户退出应用程序1秒或更长时间,在开始听写之前,布尔值会改变,并且听写也不会开始。当我回来时,它有效。 但是,如果我在开始之前退出,听写会继续在后台开始,当我回来时,我无法重新开始听写。
那么,你能告诉我是否有一个解决方案可以在应用程序停止时找到我的布尔值,或找到解决此问题的另一个解决方案(以编程方式停止听写,......)