鎖屏和息屏監(jiān)聽
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view.
//傳感器(紅外感應(yīng))打開
[[UIDevice currentDevice] setProximityMonitoringEnabled:YES];
//設(shè)置監(jiān)聽
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(sensorStateChange:)
name:UIDeviceProximityStateDidChangeNotification
object:nil];
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(LOCK_SCREEN:)
name:UIApplicationProtectedDataWillBecomeUnavailable
object:nil];
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(UN_LOCK_SCREEN:)
name:UIApplicationProtectedDataDidBecomeAvailable
object:nil];
}
- (void)LOCK_SCREEN:(NSNotificationCenter *)notification {
NSLog(@">>>鎖屏");
}
- (void)UN_LOCK_SCREEN:(NSNotificationCenter *)notification {
NSLog(@">>>解除鎖屏");
}
- (void)sensorStateChange:(NSNotificationCenter *)notification {
if ([[UIDevice currentDevice] proximityState] == YES) {
NSLog(@">>>屏幕熄滅");
}else{
NSLog(@">>>屏幕亮起");
}
}
一些說明
如下方法是監(jiān)聽 傳感器(紅外感應(yīng)) YES開啟 NO關(guān)閉
[[UIDevice currentDevice] setProximityMonitoringEnabled:YES];這種息屏監(jiān)聽是監(jiān)聽的傳感器,手機(jī)放置不動(dòng)直至黑屏,實(shí)際上是手機(jī)鎖屏,注意甄別。
iOS App不息屏設(shè)置
[[UIApplication sharedApplication] setIdleTimerDisabled:YES];