0
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 上测试。

为什么会发生这种情况请帮助我。

4

1 回答 1

0

你又查proximityMonitoringEnabledflag了吗?请注意 Apple 所说的:

并非所有 iOS 设备都有接近传感器。要确定接近监控是否可用,请尝试启用它。如果proximityMonitoringEnabled 属性的值保持为NO,则接近度监控不可用。

编辑。

device.proximityState没有说明您的传感器是否已启用。它指示接近传感器是否在特定时刻靠近用户。您应该在proximityState检查后注册通知并运行计时器,但proximityMonitoringEnabled.

于 2013-10-18T12:09:59.937 回答