在 iOS 中,并非所有 iOS 设备都拥有近距离传感器。这里介绍如何调用 iPhone 的距离传感器。

使用近距离传感器

UIDevice 中有两个近距离传感器的属性:proximityMonitoringEnabled 和 proximityState。这两个属性都是 iOS 3.0 及以上才支持的。

proximityMonitoringEnabled 属性

To determine if proximity monitoring is available, attempt to enable it. If the value of the proximityState property remains NO, proximity monitoring is not available.

要确定近距离传感器是否可用,可以尝试启用它,即 proximityMonitoringEnabled = YES,如果设置的属性值仍然为NO,说明传感器不可用。

proximityState 属性

传感器已启动前提条件下,如果用户接近 近距离传感器,此时属性值为YES,并且屏幕已关闭(非休眠)。And vice versa。

Notification

UIDeviceProximityStateDidChangeNotification,当近距离传感器状态改变时发生。

1234567891011121314
           
// 添加通知
[[UIDevice currentDevice] setProximityMonitoringEnabled:YES];
if ([UIDevice currentDevice].proximityMonitoringEnabled == YES)
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(proximitySensorChange:)
name:UIDeviceProximityStateDidChangeNotification
object:nil];
// 移除通知
if ([UIDevice currentDevice].proximityMonitoringEnabled == YES)
[[NSNotificationCenter defaultCenter] removeObserver:self
name:UIDeviceProximityStateDidChangeNotification
object:nil];
[[UIDevice currentDevice] setProximityMonitoringEnabled:NO];
view raw gistfile1.m hosted with ❤ by  GitHub

//状态变化后调用的函数

-(void)proximitySensorChange:(NSNotificationCenter *)notification;

{

if ([[UIDevice currentDevice] proximityState] == YES) {

NSLog(@"Device is close to user");

//在此写接近时,要做的操作逻辑代码

}else{

NSLog(@"Device is not close to user");

}

}

iPhone 近距离传感器的使用相关推荐

  1. Android Proximity Sensor近距离传感器P-Sensor

    好文章: Android 4.4中的距离/接近传感器 P-sensor(一) https://blog.csdn.net/kongjianjian1988/article/details/435248 ...

  2. 近距离传感器 (proximity sensor )

    近距离传感器的作用: 近距离传感器是通过红外线进行测距,当手机用户接听电话或者装进口袋时,传感器可以判断出手机贴近了人的脸部或者衣服而关闭屏幕的触控功能,这样就可以防止误操作.同样,这功能可以用在所有 ...

  3. ios 近距离传感器的使用

    使用近距离传感器 UIDevice 中有两个近距离传感器的属性:proximityMonitoringEnabled 和 proximityState.这两个属性都是 iOS 3.0 及以上才支持的. ...

  4. 软件创富密码:iPhone应用程序开发攻略之iPhone特色传感器应用(双色)

    软件创富密码:iPhone应用程序开发攻略之iPhone特色传感器应用(双色)  王志刚等 编著 ISBN978-7-121-14440-0   2011年9月出版 定价:69.00元 16开 288 ...

  5. iphone红外传感器

    红外距离感应原理 红外距离感应原理是通过发射特别短的光脉冲,并测量此光脉冲从发射到被物体反射回来的时间,通过测时间来计算与物体之间的距离. 红外距离感应器一般都需要两个感应装置,其中一个是发送一个则是 ...

  6. 27.iPhone加速度传感器简单介绍

    在我们iOS开发当中, 有时候难免遇到各种各样的需求, 比如传感器的使用, 在iPhone里, 它集成了各种各样常用的传感器, 今天, 我们来看看第一个传感器, 加速度传感器. PS: 已经更新到Sw ...

  7. iPhone磁力计传感器

    磁力计传感器 感应周边的磁场(合盖锁屏) // // ViewController.m#import "ViewController.h" #import <CoreMoti ...

  8. 物联网激荡MEMS传感器浪潮

    来源:第三代半导体联合创新孵化中心 物联网悄然而至. 如今,物联网已进入跨界融合.集成创新和规模化发展新阶段,将为经济社会发展注入新活力,培育新动能.物联网在交通.物流.环保.医疗.安防.电力等领域的 ...

  9. 前途无量的MEMS传感器

    来源:转载自「民生证券」,谢谢 微机电系统(Microelectromechanical Systems,简称 MEMS)是将微电子技术与精密机械技术结合发展出来的工程技术,尺寸在 1 微米到 100 ...

最新文章

  1. 基于OpenCV的多位数检测器
  2. 一起学微软Power BI系列-使用技巧(1)连接Oracle与Mysql数据库
  3. java生成数据插入hbase_hbase实战之javaAPI插入数据
  4. 【Java从0到架构师】Spring - 复杂对象、Converter
  5. jsapi支付签名_小程序开发之微信支付
  6. android版本大于26,装包的API等级(targetSdkVersion)必须等于或高于26,请从新打包上传...
  7. redis数据类型-字符串
  8. word操作 mathtype插入公式 表格
  9. 【人民币识别】基于RGB颜色空间实现人民币序列号识别含Matlab源码
  10. 一步控制台编译java_在控制台运行一个 Java 程序 Test . class ,使用的命令正确的是( )_学小易找答案...
  11. 电商兴头上的丁磊请注意,阿里云在用AI养猪了
  12. Oracle table move tablespace
  13. python全栈开发实战pdf老男孩_Python教程:2017年老男孩最新全栈python第2期视频教程全套完整版...
  14. 1053:最大数输出
  15. linux篇---解决 Linux 系统,出现“不在sudoers文件中,此事将被报告”的问题
  16. RD650 raid5 linux,联想RD650服务器Raid5配置图文教程.docx
  17. 教你如何修改私服NPC卖东西
  18. Simple Linear Regressions 简单线性回归 (R)
  19. Problem D: 求余弦值
  20. C语言输入和输出(printf和scanf函数、putchar和getchar函数)

热门文章

  1. Windows软件安装包制作工具汇总
  2. Mac 相见恨晚的神器-小众-用了就丢不掉的 软件
  3. async/awiat和promise之间的区别
  4. minicom快捷教程
  5. ApplicationListener
  6. Implicit Move Must Go
  7. c语言程序如何调用标准库函数,如何调用C标准库的exit函数详解
  8. 龙芯服务器稳定性,真实现状!国产龙芯水平究竟如何(续)
  9. 2021北京化工大学计算机学院招生网,北京化工大学2021年硕士研究生招生简章
  10. 幼儿园大中小班游戏特点和教学策略