其实目前大多数电容屏智能手机都有这个功能,简单的说,距离感应器就是在打电话的时候,你不是要拿着手机贴着耳朵么,有了这个感应器,当然你的电容屏离耳朵太近的话,你的屏幕会自动变黑,以免你的耳朵碰到电容屏引起误操作!
官方解释是:感应距离的传感器,在辅助摄像头和光线感应器之间的不明显的小长方形,当接通电话时,如果挡住距离感应器,屏幕会自动变黑,节约电
(以上摘自百度知道的回答)
UIDevice 中有两个近距离传感器的属性:proximityMonitoringEnabled 和 proximityState。这两个属性都是 iOS 3.0 及以上才支持的。
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,说明传感器不可用。
传感器已启动前提条件下,如果用户接近 近距离传感器,此时属性值为YES,并且屏幕已关闭(非休眠)。And vice versa。
UIDeviceProximityStateDidChangeNotification,当近距离传感器状态改变时发生。
//状态变化后调用的函数
-(void)proximitySensorChange:(NSNotificationCenter *)notification;
{
if ([[UIDevice currentDevice] proximityState] == YES) {
NSLog(@"Device is close to user");
//在此写接近时,要做的操作逻辑代码
}else{
NSLog(@"Device is not close to user");
}
}
以上原文自:http://blog.csdn.net/majiakun1/article/details/37659283
另外分享一个关于iOS其他感应的链接:http://blog.csdn.net/majiakun1/article/details/37659283