2011-04-27 99 views
0

我開發了一款iPhone應用程序,它使用NSTimer每秒獲取麥克風錄音機輸入,計算聲音的幅度,並在需要時採取適當的措施。我注意到,當我的iPhone被鎖定時,我的應用程序停止運行(它不會觸發定時器回調函數)。當我解鎖iPhone時,它會自動啓動。任何人都可以請告訴我,當iPhone被鎖定時,我如何允許應用程序響應?有沒有其他解決方法,以便iPhone在我的應用程序運行時不應該被鎖定?蘋果對此有何迴應?當iPhone被鎖定時允許應用程序繼續運行

我發現this文章但不知道這是正確的方法。

謝謝。

回答

3

當應用程序進入空閒狀態時,您無法防止計時器停止。只有一種可能的方法是禁用應用程序的idleTimer。

application.idleTimerDisabled = TRUE; 
    //or 

//Disable screen dimming if no user input occur on device. 
[[UIApplication sharedApplication] setIdleTimerDisabled:YES]; 
+0

@Rahul:我想我不清楚。我不想禁用定時器。我想讓計時器事件被解僱,但事實並非如此。我已經使用下面的代碼行來創建計時器'代碼'levelTimer = [NSTimer scheduledTimerWithTimeInterval:1.0 target:self selector:@selector(levelTimerCallback)userInfo:nil repeatats:YES]; 'code' levelTimerCallback使用NSLog打印調試消息。當我的iPhone被鎖定時,我停止接收此消息,並且當我解鎖我的iPhone時,它再次開始打印消息。 – applefreak 2011-04-27 13:53:35

+0

@AppleDeveloper請仔細閱讀我的回答。我已經提到了原因:「當應用程序進入空閒狀態時,不能防止計時器停止,只有一種可能的方法是禁用應用程序的空閒計時器。」當應用程序進入閒置模式或者我們可以說iPhone進入睡眠模式時,所有的活動都會自動停止。當手機醒來時,所有的活動再次開始。 – 2011-04-28 06:17:43

+0

好的。得到它了。我認爲禁用空閒計時器並不是很好的解決方案,因爲它耗盡了電池。無論如何,當屏幕鎖定時,要繼續監控麥克風錄音嗎?基本上我在定時器回調函數上使用[記錄器更新]來獲得任何由麥克風識別的輸入,但是當iPhone被鎖定時它不能工作。 – applefreak 2011-04-28 13:01:39

相關問題