iPhone近身传感器监测 .

 

The proximity sensor on the iPhone detects when the device is close to your face (or otherwise covered). There aren’t many times when using the sensor is of value, however, the Google Voice Search application has put this to good use as a means to trigger voice recording for a search request. If you have an interest in doing something similar, read on.

Proximity Sensor Monitoring

It all begins by enabling proximity monitoring, this is followed by setting up a notification request to call a method when the proximity state changes:

  1. // Enabled monitoring of the sensor   
  2. [[UIDevice currentDevice] setProximityMonitoringEnabled:YES];  
  3.    
  4. // Set up an observer for proximity changes   
  5. [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(sensorStateChange:)   
  6.     name:@"UIDeviceProximityStateDidChangeNotification" object:nil];  
 

The method below will be called when the sensor state is updated, a message is printed to the debug console based on the sensor proximity.

  1. - (void)sensorStateChange:(NSNotificationCenter *)notification  
  2. {  
  3.   if ([[UIDevice currentDevice] proximityState] == YES)  
  4.     NSLog(@"Device is close to user.");  
  5.   else   
  6.     NSLog(@"Device is ~not~ closer to user.");  
  7. }  
 

Detecting Proximity Sensor

Not all iOS device have proximity sensors. The Apple API documentation states that you should enable proximity monitoring and check the proximityState, if the return value is NO, then the device does not have a sensor.

I was unable to successfully use this approach to determine if a device has a sensor. Any additional ideas or suggestions are welcome.

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值