2013-10-24 33 views
-1

我做了一個示例應用程序,它引發本地通知。如何在通知在iOS中觸發時打開警報視圖?

當通知觸發時,它總是在設備中的通知區域顯示橫幅,這是我在圖像中顯示的。 enter image description here

但我想要警報而不是這個,並希望基於從該警報中選擇的選項執行操作。

激發本地通知的代碼如下所示。

-(IBAction)setNotification:(id)sender{ 

UILocalNotification *localNotif = [[UILocalNotification alloc] init]; 
if (localNotif == nil) 
{ 
    return; 
} 

localNotif.timeZone = [NSTimeZone defaultTimeZone]; 

// Get the year, month, day from the date 
NSDateComponents *components = [[NSCalendar currentCalendar] components:NSYearCalendarUnit|NSMonthCalendarUnit|NSDayCalendarUnit|NSTimeZoneCalendarUnit|NSSecondCalendarUnit|NSHourCalendarUnit|NSMinuteCalendarUnit fromDate:[NSDate date]]; 

// Set the second to be zero 
components.minute = components.minute + 1; 
components.second = 0; 

// Create the date 
NSDate *date = [[NSCalendar currentCalendar] dateFromComponents:components]; 
NSLog(@"Fire Date :: %@",date); 
localNotif.fireDate = date; 

localNotif.alertBody = [NSString stringWithFormat:@"First Alarm"]; 


localNotif.alertAction [email protected]"Ok"; 

[email protected]"Alarm_1.mp3"; 

localNotif.applicationIconBadgeNumber = 1; 


localNotif.alertAction = @"Application name"; 
localNotif.HasAction = true; 

// Schedule the notification 
[[UIApplication sharedApplication] scheduleLocalNotification:localNotif]; 

}

任何機構可以告訴我,如果有任何錯誤。

在此先感謝。

+0

等等。你想通過在主屏幕上顯示一個alertview來對通知採取行動? – Legolas

+0

是的,我想採取行動。 –

+0

你想讓通知看起來像UIAlertView? – Legolas

回答

-1

您能得到您的通知,這個方法:

  • (無效)申請:(UIApplication的*)應用 didReceiveRemoteNotification:(NSDictionary的*)USERINFO

寫這個代碼獲取數據from userInfo:

[[userInfo objectForKey:@「aps」] objectForKey:@「price」]];

使用userInfo Dict獲取通知值,之後您可以將該數據用於警報。

+0

這是一個本地通知而不是遠程通知。 –

0

變更通知中設定的類型 - >通知中心 - >您的應用程序 - >提醒:

enter image description here

最初從奎因! 「愛斯基摩人」,爲quoted by IBG

「這取決於你的意思,你可以根據你設置UILocalNotification 屬性(如alertBody,soundName等等)的方式來控制 通知的顯示方式。但是,如果 您在詢問有關這些屬性的解釋方式 (用戶可以在「設置」>「通知」中自定義的內容),那些 是用戶首選項,並且不通過任何API公開。

+0

是的,這是做到這一點的一種方式,但我不想手動執行它,因爲我們希望在編程時使用它,因爲我們在安裝應用程序時默認需要它,你知道有什麼辦法擺脫它嗎? –

+0

@JayeshSojitra,你無法編程。看到我更新的答案。 – user1673099

0

下面是一個簡短而快速的答案。你不能這樣做。 蘋果文檔只聲明didReceiveLocalNotification。通知顯示的方式不取決於開發者。用戶將選擇他想用SETTINGS查看通知的方式。

對於您的情況,只需通過在用戶點擊通知時實現委託回調來連接邏輯。

相關問題