2012-05-10 37 views
0

我在我的應用程序中使用本地通知,但在正確處理它們時遇到問題。在不同應用程序狀態下的iPhone本地通知

當應用程序正在運行並處於活動狀態時,我可以從NSUserDefaults獲取用戶設置並處理重複通知,並在發生日期不是應該觸發的日期時取消它,或者在日期正確的情況下顯示警報。

但是,當應用程序正在運行,但不活動時,通知將觸發,但它不應該。
同樣的事情,當應用程序沒有運行,通知將觸發,但它不應該。

問題
當應用程序沒有運行,當應用程序是無效的,我怎麼能訪問NSUserDefaults和警報顯示之前取消通知?

編輯答案
的原因,我不得不問,這是因爲糟糕的應用程序設計和邏輯。我試圖設置重複本地通知,無論用戶設置了什麼設置並訪問NSUserDefaults,但我應該首先在應用程序本身中訪問用戶設置,然後相應地設置通知。

回答

0

你不能。一個UILocalNotification由iOS處理,而不是您的應用程序。 只有當您的應用程序處於活動狀態時,通知纔會直接推送給您的應用程序。 在所有其他情況下,操作系統只會顯示通知。

+0

嗯......所以,如果我創建一個通知,每天被解僱,他們將永遠被解僱,並顯示如果應用程序沒有運行 - 並且無法以編程方式取消它們?這是荒謬的! :( – micadelli

+0

是的,這就是那裏的東西,爲了讓用戶知道某些東西,我認爲你使用的是'UILocalNotification',因爲它不適用於它,因此使它變得不那麼荒謬。 – rckoenes

+0

嘗試如果用戶已禁用我的應用設置的通知,則發出重複的警報,通知並取消它。有關其他方法的任何建議? – micadelli

相關問題