iOS开发--传感器
来源:互联网 发布:暴雪影视知乎 编辑:程序博客网 时间:2024/05/21 09:25
原文网址:http://www.cnblogs.com/dongwenbo/p/4301530.html
传感器
什么是传感器
传感器是一种感应\检测装置, 目前已经广泛应用于智能手机上
传感器的作用
用于感应\检测设备周边的信息
不同类型的传感器, 检测的信息也不一样
iPhone中的下面现象都是由传感器完成的
在地图应用中, 能判断出手机头面向的方向
一关灯, iPhone会自动降低亮度让屏幕显得不是那么刺眼
打电话时, 人脸贴近iPhone屏幕时, 屏幕会自动锁屏, 达到省电的目的
... ...
传感器的类型
iPhone5中内置的传感器有
- 运动传感器\加速度传感器\加速计(Motion/Accelerometer Sensor)
- 环境光传感器(Ambient Light Sensor)
- 距离传感器(Proximity Sensor)
- 磁力计传感器(Magnetometer Sensor)
- 内部温度传感器(Internal Temperature Sensor)
- 湿度传感器(Moisture Sensor)
- 陀螺仪(Gyroscope)
- ... ...
环境光传感器(Ambient Light Sensor)
是iOS、Mac设备中最为古老的传感器成员
它能够让你在使用 Mac、iPhone、iPad时,眼睛更为舒适
从一个明亮的室外走入相对黑暗的室内后,iOS设备会自动调低亮度,让屏幕显得不再那么光亮刺眼
当你使用iPhone拍照时,闪光灯会在一定条件下自动开启
几乎所有的Mac 都带有背光键盘,当周围光线弱到一定条件时,会自动开启键盘背光
距离传感器(Proximity Sensor)
用于检测是否有其他物体靠近设备屏幕
当你打电话或接电话时将电话屏幕贴近耳边,iPhone会自动关闭屏幕 ,好处是
节省电量
防止耳朵或面部不小心触摸屏幕而引发一些不想要的意外操作
题外话:利用距离传感器,能找出很多电视剧的穿帮镜头
磁力计传感器(Magnetometer Sensor)
- 可以感应地球磁场, 获得方向信息, 使位置服务数据更精准
- 可以用于电子罗盘和导航应用
- iPad的Smart Cover盒盖睡眠操作就是基于磁力计传感器
内部温度传感器(Internal Temperature Sensor)
从 iPad一代开始,iOS设备都加入了一个内部温度传感器,用于检测内部组件温度,当温度超过系统设定的阈值时,会出现以下提示
内部温度传感器,对于提升iOS设备自身安全性与稳定性有很大的帮助
湿度传感器(Moisture Sensor)
湿度传感器跟其他基于微电子的传感器不同,是一个简单的物理传感器
简单来说,湿度传感器就是一张遇水变红的试纸
Apple的维修人员就是通过检测试纸是否变红,来判断设备是否进水
(设备进水不在保修范围之内)
陀螺仪(Gyroscope)
- 陀螺仪是随着iPhone4的上市首次出现在iOS设备上的传感器
- 陀螺仪可以用于检测设备的持握方式
- 陀螺仪的原理是检测设备在X、Y、Z轴上所旋转的角速度
陀螺仪在赛车类游戏中有重大作用:
模拟汽车驾驶时方向盘旋转的动作
使得这类游戏的操控体验更为真实
运动传感器\加速度传感器\加速计(Motion/Accelerometer Sensor)
最早出现在iOS设备上的传感器之一
加速计用于检测设备在X、Y、Z轴上的加速度 (哪个方向有力的作用)
加速计可以用于检测设备的摇晃,经典应用场景
- 摇一摇
- 计步器
传感器总结
传感器类型
作用
环境光传感器
感应周边环境光线的强弱(自动调节屏幕亮度)
距离传感器
感应是否有其他物体靠近设备屏幕(打电话自动锁屏)
磁力计传感器
感应周边的磁场(合盖锁屏)
内部温度传感器
感应设备内部的温度(提醒用户降温,防止损伤设备)
湿度传感器
感应设备是否进水(方便维修人员)
陀螺仪
感应设备的持握方式(赛车类游戏)
加速计
感应设备的运动(摇一摇、计步器)
距离传感器的使用
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 }
- iOS开发之传感器
- iOS开发之传感器
- iOS开发之传感器
- iOS开发--传感器
- iOS开发:距离传感器
- iOS开发 传感器
- 移动开发(IOS) –传感器
- iOS开发实用技术之传感器
- 近距离感应 传感器 iOS开发
- iOS开发:调用指纹传感器
- IOS开发之──传感器使用
- IOS开发之──传感器使用
- IOS开发之——传感器使用
- IOS开发之──传感器使用
- ios开发之距离传感器使用
- IOS开发之──传感器使用
- iOS开发之──传感器使用
- ios传感器
- 磁盘调度算法
- 查询与视图的区别
- Xutils之HttpUtils使用
- 将tomcat添加为linux系统服务 开机自启动
- TLD跟踪算法(单目标)相关资料
- iOS开发--传感器
- Java 回顾笔记_集合框架-泛型基本应用
- Yii2.0框架基础--修改控制器ID指向控制器类
- 安卓原生操作数据库时,使用ContentValues类
- 互联网金融系列-支付清算体系例子-下
- Web服务器中error-page配置无效的解决方法
- 神经网络weight参数怎么初始化
- C#图像处理(各种旋转、改变大小、柔化、锐化、雾化、底片、浮雕、黑白、滤镜效果)
- Activity