UIDevice * device=[UIDevice currentDevice];
device.proximityMonitoringEnabled=YES;
state=device.proximityState;
NSLog(@"%hhd",state);
if(state)
{
NSLog(@"Proximity Sensor Starts YES");
NSLog(@"%d",count);
count++;
NSLog(@"%d",count);
timer = [NSTimer scheduledTimerWithTimeInterval:4.0 target:self selector:@selector(aTime) userInfo:nil repeats:YES];
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(proximityChanged:)
name:@"UIDeviceProximityStateDidChangeNotification"
object:nil];
}
else
{
NSLog(@"NO");
}
}
我已经使用此代码启用接近传感器状态,但每次我的指针转到其他状态时,为什么在ios7中未检测到接近传感器。在iPhone 5s上测试过。
为什么会发生这种情况请帮帮我。
答案 0 :(得分:0)
您是否再次检查proximityMonitoringEnabled
标志?请注意Apple说的话:
并非所有iOS设备都有接近传感器。要确定是否有可用的邻近监控,请尝试启用它。如果proximityMonitoringEnabled属性的值保持为NO,则不能使用邻近度监视。
编辑。
device.proximityState
未说明您的传感器是否已启用。它指示接近传感器是否在特定时刻靠近用户。您应该在proximityState
检查后注册通知并运行计时器,但proximityMonitoringEnabled
。