2012-07-05 60 views
6

我正在嘗試爲我正在開發的應用程序添加一個後臺鬧鐘功能。使用重複本地通知的iPhone鬧鐘

我已經閱讀了UILocalNotification對象及其用法,並且知道它僅限於30秒的音頻。

我在考慮安排多個通知(比如說5個),間隔30秒來模仿連續播放,但這種方法的問題是,如果用戶點擊了Close,我將無法取消任何隨後的通知。

據我所知,在沒有完全隱藏通知的情況下(即將alertBody屬性設置爲Nil),不可能刪除或隱藏Close按鈕。

所以,我想我可能會使用repeatInterval屬性來導致通知每30秒彈出一次,但似乎我只能將間隔設置爲一分鐘或一秒,而其間沒有任何內容。

此功能旨在讓用戶在音樂和蜂鳴聲之間進行選擇以獲取鬧鐘音頻;看起來我可能已經找到了一種方法來做蜂鳴聲 - 將repeatInterval設置爲一秒鐘,創建一秒鐘的蜂鳴聲(需要定時重複),並將其用作通知聲音。

但是,對於音樂來說,這種方法限制了我播放30秒的音頻,然後是30秒的間隔,接着是30秒的音頻,依此類推。

我知道這裏沒有簡單的解決方案,從我閱讀其他文章和資源;沒有任何第三方應用程序可以訪問與內置鬧鐘相同的功能。我希望有人找到了解決方法或想到真正聰明的東西。

更新:我發現repeatInterval沒有幫助我在這種情況下,因爲我不能取消重複沒有啓動應用程序。

目前我已決定不使用通知作爲警報本身,但已將功能更改爲提醒(更多地沿着通知的用途)。

如果我想出一種方法來爲應用程序實現用戶友好的,可靠的報警功能,我會更新這篇文章。

+1

」多個通知(比如5個)間隔30秒來模仿連續播放「 - 它不會以這種方式工作,因爲LocalNotification精度限制爲一分鐘... –

+1

考慮在您的應用中使用後臺執行。據我所知,應用程序可以在後臺播放音樂。 –

+0

以下是某人如何構建您提到的本地通知背景警報的示例:http://stackoverflow.com/a/4197215/1264925 – sigre

回答

0

恐怕你不能完成這個..原因是你說的'關閉'按鈕。如果點擊關閉按鈕,您將不會在應用程序中收到任何回電。此外,即使您每30秒發送一次通知,用戶也必須查看或關閉屏幕上的多個通知。所以用戶體驗會很糟糕。我建議讓用戶清楚,他們不能用超過30秒的自定義聲音設置鬧鐘。 「

+0

我得出了同樣的結論,謝謝你的建議。 – bschnur