首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在iOS中以编程方式禁用/启用睡眠模式?

如何在iOS中以编程方式禁用/启用睡眠模式?
EN

Stack Overflow用户
提问于 2012-09-30 19:46:12
回答 3查看 74K关注 0票数 164

我有一个应用程序,它必须保持清醒,直到倒计时结束,但每当它达到分配的睡眠时间时,它就会进入“睡眠模式”。

在我的应用程序中,我可以选择推迟睡眠,这样用户就可以禁用/启用它。

如何以编程方式完成此操作?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-09-30 20:05:04

您可以关闭空闲定时器,如下所示;

在Objective-C中:

代码语言:javascript
复制
[UIApplication sharedApplication].idleTimerDisabled = YES;

在Swift中:

代码语言:javascript
复制
UIApplication.sharedApplication().idleTimerDisabled = true

在Swift 3.0和Swift 4.0中:

代码语言:javascript
复制
UIApplication.shared.isIdleTimerDisabled = true

将其设置回NOfalse以重新启用睡眠模式。

例如,如果在离开视图之前需要它,可以通过覆盖viewWillDisappear将其设置回来:

代码语言:javascript
复制
override func viewWillDisappear(_ animated: Bool) {
    UIApplication.shared.isIdleTimerDisabled = false
}

更多关于UIApplication Class的信息。

票数 386
EN

Stack Overflow用户

发布于 2016-10-31 12:22:09

在Swift 3中,要禁用空闲计时器,现在是:

代码语言:javascript
复制
UIApplication.shared.isIdleTimerDisabled = true

要重新打开空闲计时器,只需执行以下操作:

代码语言:javascript
复制
UIApplication.shared.isIdleTimerDisabled = false

此外,请注意,YESNO在Swift中不可用,您必须使用truefalse (与前面的答案相反)。

票数 24
EN

Stack Overflow用户

发布于 2017-08-12 21:10:01

在Swift 3中,可以做到这一点的确切位置是AppDelegate.swift -你应该在application函数中添加UIApplication.shared.isIdleTimerDisabled = true,这样结果将如下所示:

代码语言:javascript
复制
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
    UIApplication.shared.isIdleTimerDisabled = true
    return true
}
票数 -6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12661004

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档