zoukankan      html  css  js  c++  java
  • iOS开发之传感器

    传感器

    什么是传感器

    传感器是一种感应检测装置, 目前已经广泛应用于智能手机上

    传感器的作用

    用于感应检测设备周边的信息

    不同类型的传感器, 检测的信息也不一样

     

    iPhone中的下面现象都是由传感器完成的

    在地图应用中, 能判断出手机头面向的方向

    一关灯, iPhone会自动降低亮度让屏幕显得不是那么刺眼

    打电话时, 人脸贴近iPhone屏幕时, 屏幕会自动锁屏, 达到省电的目的

    ... ... 

    传感器的类型

    iPhone5中内置的传感器有

    • 运动传感器加速度传感器加速计Motion/Accelerometer Sensor
    • 环境光传感器(Ambient Light Sensor
    • 距离传感器(Proximity Sensor
    • 磁力计传感器(Magnetometer Sensor
    • 内部温度传感器(Internal Temperature Sensor
    • 湿度传感器(Moisture Sensor
    • 陀螺仪(Gyroscope
    • ... ...

    环境光传感器(Ambient Light Sensor

    iOSMac设备中最为古老的传感器成员

     它能够让你在使用 MaciPhoneiPad时,眼睛更为舒适 

    从一个明亮的室外走入相对黑暗的室内后,iOS设备会自动调低亮度,让屏幕显得不再那么光亮刺眼 

    当你使用iPhone拍照时,闪光灯会在一定条件下自动开启

    几乎所有的Mac 都带有背光键盘,当周围光线弱到一定条件时,会自动开启键盘背光 

     

    距离传感器(Proximity Sensor

    用于检测是否有其他物体靠近设备屏幕

    当你打电话或接电话时将电话屏幕贴近耳边,iPhone会自动关闭屏幕 ,好处是

    节省电量 

    防止耳朵或面部不小心触摸屏幕而引发一些不想要的意外操作 

    题外话:利用距离传感器,能找出很多电视剧的穿帮镜头

        

    磁力计传感器(Magnetometer Sensor

    • 可以感应地球磁场, 获得方向信息, 使位置服务数据更精准
    • 可以用于电子罗盘和导航应用
    • iPadSmart Cover盒盖睡眠操作就是基于磁力计传感器

    内部温度传感器(Internal Temperature Sensor

    iPad一代开始,iOS设备都加入了一个内部温度传感器,用于检测内部组件温度,当温度超过系统设定的阈值时,会出现以下提示 

     

    内部温度传感器,对于提升iOS设备自身安全性与稳定性有很大的帮助 

    湿度传感器(Moisture Sensor

    湿度传感器跟其他基于微电子的传感器不同,是一个简单的物理传感器

    简单来说,湿度传感器就是一张遇水变红的试纸

    Apple的维修人员就是通过检测试纸是否变红,来判断设备是否进水

    (设备进水不在保修范围之内)

    陀螺仪(Gyroscope

    • 陀螺仪是随着iPhone4的上市首次出现在iOS设备上的传感器
    • 陀螺仪可以用于检测设备的持握方式
    • 陀螺仪的原理是检测设备在XYZ轴上所旋转的角速度

    陀螺仪在赛车类游戏中有重大作用:

    模拟汽车驾驶时方向盘旋转的动作 

    使得这类游戏的操控体验更为真实 

    运动传感器加速度传感器加速计(Motion/Accelerometer Sensor

    最早出现在iOS设备上的传感器之一

    加速计用于检测设备在XYZ轴上的加速度 (哪个方向有力的作用)

    加速计可以用于检测设备的摇晃,经典应用场景

    • 摇一摇
    • 计步器

    传感器总结

    传感器类型

    作用

    环境光传感器

    感应周边环境光线的强弱(自动调节屏幕亮度)

    距离传感器

    感应是否有其他物体靠近设备屏幕(打电话自动锁屏)

    磁力计传感器

    感应周边的磁场(合盖锁屏)

    内部温度传感器

    感应设备内部的温度(提醒用户降温,防止损伤设备)

    湿度传感器

    感应设备是否进水(方便维修人员)

    陀螺仪

    感应设备的持握方式(赛车类游戏)

    加速计

    感应设备的运动(摇一摇、计步器)

    距离传感器的使用

     1 // 开启距离感应功能
     2 [UIDevice currentDevice].proximityMonitoringEnabled = YES;
     3 // 监听距离感应的通知
     4 [[NSNotificationCenter defaultCenter] addObserver:self
     5 selector:@selector(proximityChange:)
     6 name:UIDeviceProximityStateDidChangeNotification
     7 object:nil];
     8 
     9 - (void)proximityChange:(NSNotificationCenter *)notification {
    10     if ([UIDevice currentDevice].proximityState == YES) {
    11     NSLog(@"某个物体靠近了设备屏幕"); // 屏幕会自动锁住
    12     } else {
    13     NSLog(@"某个物体远离了设备屏幕"); // 屏幕会自动解锁
    14     }
    15 }
  • 相关阅读:
    std thread
    windows更新包发布地址
    How to set up logging level for Spark application in IntelliJ IDEA?
    spark 错误 How to set heap size in spark within the Eclipse environment?
    hadoop 常用命令
    windows 安装hadoop 3.2.1
    windows JAVA_HOME 路径有空格,执行软连接
    day01MyBatisPlus条件构造器(04)
    day01MyBatisPlus的CRUD 接口(03)
    day01MyBatisPlus入门(02)
  • 原文地址:https://www.cnblogs.com/dongwenbo/p/4301530.html
Copyright © 2011-2022 走看看