经过一些谷歌搜索,我可以理解“接近传感器”用于当设备离开/靠近用户时开/关屏幕.我观看了
this video(从第30秒开始观看)并对这些很酷的东西感到惊讶.我想在我的应用程序中实现它.
但我发现当proximityMonitoringEnabled为YES时,没有可用的公共API可以保护屏幕锁定.然后上面的应用程序如何做到这一点?
为了清楚地理解,我正在复制一些代码.
启用接近传感器:
[[UIDevice currentDevice] setProximityMonitoringEnabled:YES];
设置传感器更换的观察者:
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(sensorStateMonitor:) name:@"UIDeviceProximityStateDidChangeNotification" object:nil];
最后,您可以通过以下方法找到接近传感器的状态:
- (void)sensorStateMonitor:(NSNotificationCenter *)notification { if ([[UIDevice currentDevice] proximityState] == YES) { NSLog(@"Device is close to user."); } else { NSLog(@"Device is not closer to user."); } }
题:
我想在调用“设备接近用户”状态时显示一些视图.并且如果调用“设备不接近用户”状态,则要删除视图.
所以我在sensorStateMonitor:方法中添加了一个视图并删除了.但是视图仅在几分之一秒内可见,并且屏幕熄灭.
只是困惑!!
解决方法
可以启用/禁用屏幕锁定.
[UIApplication sharedApplication] .idleTimerDisabled = YES;