我有一个应用程序,它必须保持清醒,直到倒计时结束,但每当它达到分配的睡眠时间时,它就会进入“睡眠模式”。
在我的应用程序中,我可以选择推迟睡眠,这样用户就可以禁用/启用它。
如何以编程方式完成此操作?
发布于 2012-09-30 20:05:04
您可以关闭空闲定时器,如下所示;
在Objective-C中:
[UIApplication sharedApplication].idleTimerDisabled = YES;
在Swift中:
UIApplication.sharedApplication().idleTimerDisabled = true
在Swift 3.0和Swift 4.0中:
UIApplication.shared.isIdleTimerDisabled = true
将其设置回NO
或false
以重新启用睡眠模式。
例如,如果在离开视图之前需要它,可以通过覆盖viewWillDisappear将其设置回来:
override func viewWillDisappear(_ animated: Bool) {
UIApplication.shared.isIdleTimerDisabled = false
}
更多关于UIApplication Class的信息。
发布于 2016-10-31 12:22:09
在Swift 3中,要禁用空闲计时器,现在是:
UIApplication.shared.isIdleTimerDisabled = true
要重新打开空闲计时器,只需执行以下操作:
UIApplication.shared.isIdleTimerDisabled = false
此外,请注意,YES
和NO
在Swift中不可用,您必须使用true
或false
(与前面的答案相反)。
发布于 2017-08-12 21:10:01
在Swift 3中,可以做到这一点的确切位置是AppDelegate.swift
-你应该在application
函数中添加UIApplication.shared.isIdleTimerDisabled = true
,这样结果将如下所示:
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
UIApplication.shared.isIdleTimerDisabled = true
return true
}
https://stackoverflow.com/questions/12661004
复制相似问题