2011-08-31 86 views
0

我在應用程序中播放音頻文件,因此在手機被鎖定並且屏幕關閉時不會關閉。 但是,當我想檢測搖它不起作用。iPhone屏幕關閉時爲什麼搖晃不起作用?

它在應用程序打開並且屏幕鎖定(未關閉)時正常工作。該應用程序肯定正在運行,因爲日誌工作正常。

有什麼想法?

我使用下面的代碼:

-(BOOL)canBecomeFirstResponder { 
    //make it respond to shake events 
    return YES; 
} 

- (void)viewDidAppear:(BOOL)animated { 
    //make it respond to shake events 
    [self becomeFirstResponder]; 
} 

- (void)motionEnded:(UIEventSubtype)motion withEvent:(UIEvent *)event { 
    if (event.type == UIEventSubtypeMotionShake) { 
     NSLog(@"Shake detected"); 
    } 
} 

回答

0

這將幫助你。

[[UIApplication sharedApplication] setIdleTimerDisabled:YES]; 

這不會讓屏幕關閉。

希望這會有所幫助。

編輯:

但是,即使我覺得阿克沙伊不相同。屏幕關閉時無法捕獲UIEvent。

+0

感謝您的回答。我知道這一點,而且我已經使用它,但是我希望在屏幕關閉的情況下也能正常工作。 – Tibidabo

+0

@Tibidabo:檢查我的答案編輯部分 –

+0

有趣的是,只要屏幕沒有關閉,它就會鎖定。所以如果我按下電源按鈕將其關閉,它將停止工作,當我再次按下它時,會彈出鎖定屏幕,它會再次開始工作。我想這肯定是某種省電的功能,你說的都是,我只是希望我錯過了一些東西。 – Tibidabo

0

當屏幕關閉時,我認爲您不能捕獲UIEvents

1

監控加速度計會導致手機產生額外功耗,因此在手機被鎖定時會被禁用。我不相信有這個辦法。

相關問題