IOS接近传感器使屏幕永久睡眠

时间:2015-08-15 14:20:26

标签: ios background sleep proximity proximitysensor

我是IOS编程的新手,但我的工作要求我为电视演员构建应用程序以便在场景中使用。我正在学习斯威夫特。这些应用不适用于应用商店。我正在制作假手机应用程序。当演员把它放到脸上时,制作人希望手机关闭 - 我有这个代码:

//PROXIMITY SENSOR
func proximityChanged(notification: NSNotification) {
    if let device = notification.object as? UIDevice {
        println("\(device) detected!")

    }
}

func activateProximitySensor() {
    let device = UIDevice.currentDevice()
    device.proximityMonitoringEnabled = true
    if device.proximityMonitoringEnabled {
        NSNotificationCenter.defaultCenter().addObserver(self, selector: "proximityChanged:", name: "UIDeviceProximityStateDidChangeNotification", object: device)
    }
}

它有效,但我遇到的问题是当接近传感器接合时间过长时,比如电话在演员口袋里2分钟 - 当他去使用它时 - 屏幕保持黑色。

如果按下主页按钮,它将被唤醒,但这会导致它跳出应用程序。如果侧面静音/声音切换被激活,它也会被唤醒。

我猜测即使应用程序位于前台,接近传感器接触这么长时间也会导致它进入后台。难以在xcode中测试,因为它在连接到计算机时不会进入睡眠状态。是什么导致了这个以及如何解决这个问题? 感谢

1 个答案:

答案 0 :(得分:0)

干得好!我以前见过这种情况。您是否尝试过禁用空闲计时器?

[UIApplication sharedApplication].idleTimerDisabled = YES;