首页 > 代码库 > 距离传感器
距离传感器
// 近距离传感器的实现封装在UIKit中 // 需要使用真机测试 import UIKit enum YSSession:Int { case audio = 1 // 音频 case video = 2 // 视频 } class ViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() // 系统APP自动开启了近距离检测(如:打电话,离脸近屏幕就黑了,离的远屏幕主亮了) // 但开发者APP需要手动开启 UIDevice.current.isProximityMonitoringEnabled = true // 使用通知监听距离变化 NotificationCenter.default.addObserver(self, selector: #selector(proximityStateChanged), name: NSNotification.Name.UIDeviceProximityStateDidChange, object: nil) /* // 使用场景:音视频会话 let sessionType = 0 switch sessionType { case YSSession.audio.rawValue: // 音频会话,打开近距离传感器 UIDevice.current.isProximityMonitoringEnabled = true case YSSession.video.rawValue: // 视频会话,关闭近距离传感器 UIDevice.current.isProximityMonitoringEnabled = false // 不锁屏 UIApplication.shared.isIdleTimerDisabled = true default: break } */ } @objc private func proximityStateChanged(){ if UIDevice.current.proximityState == true{ // 近距离 print("太近了,都贴脸上了") // 近距离锁屏,就是让屏幕变黑,省电 UIApplication.shared.isIdleTimerDisabled = false } else{ // 远距离 print("太远了,都看不见你了") // 远距离不锁屏 UIApplication.shared.isIdleTimerDisabled = true } } }
距离传感器
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。