我想知道何时有人关闭我的应用程序(点按主屏幕按钮)或终止我的应用程序(双击向上轻扫),但是我不希望知道用户何时使用我的应用程序,而只是关闭手机,因为他们重新打开手机后,它仍会在我的应用中显示。
我尝试使用<selenium.webdriver.remote.webelement.WebElement (session="bd86fe53729956ba1fc3b16cf841a1a8", element="0.5125252686493715-2")>
,applicationWillResignActive
,applicationDidEnterBackground
并将其注册到我的视图控制器中
applicationWillTerminate
这些信息没有告诉我何时我的应用程序不是重点,或者他们是否确实在工作,他们还告诉我何时我的应用程序仍处于打开状态,只是手机处于关闭状态。
答案 0 :(得分:3)
您不能绘制要绘制的区别。无论用户单击“主页”按钮还是关闭屏幕,都会取消激活您的应用程序并使其后台运行,并且会提示您-这就是 all 。
但是,您不需要 来区分这种区别。当您的应用程序处于后台时,只需执行适当的操作即可。系统会提示您何时再次显示您的应用,即使这仅仅是因为用户重新打开了屏幕。
答案 1 :(得分:0)
因此,经过一些研究,我发现的唯一可能方法是:
func DidUserPressLockButton() -> Bool
{
let oldBrightness = UIScreen.main.brightness
UIScreen.main.brightness = oldBrightness + (oldBrightness <= 0.01 ? (0.01) : (-0.01))
return oldBrightness != UIScreen.main.brightness
}
func applicationDidEnterBackground(_ application: UIApplication)
{
if (DidUserPressLockButton())
{
//User pressed lock button
}
else
{
//user pressed home button
}}
此方法通过查看应用程序是否可以更改亮度而起作用,但是有人说这将被苹果拒绝,因为他们不希望您这样做,这很有意义,为什么没有内置功能但是有App Store上知道您如何离开应用程序的应用程序