2011-06-20 159 views
0

我想在我的先前本地通知被觸發時安排本地通知。 它應該得到安排,無視用戶點擊'查看'或'取消'。我沒有得到適當的地方(委託方法)安排新的通知。根據蘋果文檔,應用程序:(UIApplication *)application didFinishLaunchingWithOptions:can be used但它似乎並沒有被調用,當應用程序來自前臺從背景和應用程序:(UIApplication *)應用程序didReceiveLocalNotification:只需點擊'視圖'而不是關閉。我應該這樣做嗎?任何幫助是高度讚賞。安排發出本地通知的本地通知

回答

0

是的。你對本地通知是正確的。您應該點擊"view"以觸發didReceiveLocalNotification:。如果您點擊"Cancel",您不關心通知。如果你不在乎,爲什麼iOS應該關心? :-)

您正在安排通知。所以,你知道什麼時候會被解僱。你不是嗎?那爲什麼要等第一個通知被解僱呢?只需安排第二條通知和第一條通知。

一種解決方法:

Local and Push Notification Programming Guide 說,只有64本地通知每個應用程序允許的。所以,最初安排前64個通知。當應用下次打開時,請檢查[UIApplication sharedApplication] scheduledLocalNotifications],並安排下一個(64個預定的本地通知)通知。

int scheduledNotifications = [UIApplication sharedApplication] scheduledLocalNotifications]; 
int n = 64 - scheduledNotifications; 
[self Schedule-next-n-notifications]; 

注意:我們不能保證這會完美地工作。如果應用程序在經過很長時間的差距後打開,例如1或2個月後,某些通知將不會在適當的時間安排。

+0

Yse Simon,你的邏輯是正確的,但我有一個365條記錄的數據庫,並且文檔說我們不能一次安排這麼多的通知。所以我認爲最好一個一個的安排它 – Yogi

+0

@Yogi,這些通知會定期或不定期觸發? – EmptyStack

+0

@Simon:不規則,否則重複通知是一個選項 – Yogi