距离传感器

// 近距离传感器的实现封装在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
        }
    }
}
时间: 2024-08-16 16:15:39

距离传感器的相关文章

(九十一)距离传感器的使用

iPhone上的距离传感器通过UIDevice开启,开启后系统以Notification的方式通知. ①开启距离传感器,监听通知: - (void)viewDidLoad { [super viewDidLoad]; // 开启传感器在iOS3之后通过UIDevice的currentDevice的proximityMonitoringEnabled设置 [UIDevice currentDevice].proximityMonitoringEnabled = YES; // 监听到物体靠近时,系

光传感器和距离传感器代码分析【转】

本文转载自:http://blog.csdn.net/luobin1984/article/details/8132889 Light Sensor& Proximity Sensor TMD27713T内部集成一个光传感器,一颗红外发射管和一颗红外接收极管. ALS环境光传感器,距离检测和红外灯在一个模块上,ALS:近似于人眼的反应,可编程积分时间,可编程的中断阀值,很高的灵敏度.距离检测:校准到100mm的精度,消除工厂校准,可编程的数字红外脉冲.可编程的电流源的红外灯,可编程的中断阀值,可

IOS UIDevice距离传感器(打开 关闭)

●  什么是传感器 ●  传感器是一种感应\检测装置, 目前已经广泛应用于智能手机上 ●  iPhone5中内置的传感器有 ●  运动传感器\加速度传感器\加速计(Motion/Accelerometer Sensor) ●  环境光传感器(Ambient Light Sensor) ●  距离传感器(Proximity Sensor) ●  磁力计传感器(Magnetometer Sensor) ●  内部温度传感器(Internal Temperature Sensor) ●  湿度传感器(

传感器 - 距离传感器

// 距离传感器 // 温度传感器 // 磁力传感器 // 光传感器 // 湿度传感器 // 陀螺仪  -- 导航, 赛车游戏(角速度传感器) // 运动传感器 - 加速度传感器  --  摇一摇, 计步器 // #import "ViewController.h" @interface ViewController () @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; //

ios 距离传感器和摇一摇

//距离传感器,以注册通知的形式来实现的 #import "ViewController.h" @interface ViewController () @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; //1.开启距离传感器 [UIDevice currentDevice].proximityMonitoringEnabled=YES; //2 注册通知进行监听 [[NSNot

距离传感器的使用

- (void)ViewDidLoad { // 打开距离传感器,开启距离检测功能 [UIDevice currentDevice].proximityMonitoringEnabled = YES; // 监听距离改变 [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(proximityStateDidChange:) name:UIDeviceProximityStateDidChangeNot

距离传感器 和摇一摇功能

#import "ViewController.h" @interface ViewController () @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; //开启距离传感器监控开关 [UIDevice currentDevice].proximityMonitoringEnabled = YES; //监控proximityStateDidChange, [[NSNoti

iOS 通过接受距离传感器的消息改变屏幕的明暗度(仅限用于真实的手机)

1 #import "AppDelegate.h" 2 3 @interface AppDelegate () 4 5 @end 6 7 @implementation AppDelegate 8 9 10 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { 11 self.window = [[UIWindow al

ANDROID_MARS学习笔记_S05_006_距离传感器

1 import android.app.Activity; 2 import android.content.Context; 3 import android.hardware.Sensor; 4 import android.hardware.SensorEvent; 5 import android.hardware.SensorEventListener; 6 import android.hardware.SensorManager; 7 import android.os.Bund