當應用處於前臺並且當前在iPhone SDK中運行時,本地通知是否會顯示?iPhone SDK中前臺的本地通知
7
A
回答
8
不,您將收到appdelegate中的通知。
- (void) application:(UIApplication *)application didReceiveLocalNotification: (UILocalNotification *)notification {
//Place your code to handle the notification here.
}
0
如果您的應用程序是目前在前臺下面的函數將被調用你的委託:
- (void)application:(UIApplication *)application didReceiveLocalNotification:(UILocalNotification *)Notifikation
然後你可以決定顯示的alertview,但其本身的標準一個不會出現
+1
無論應用程序是否已在運行,都會調用它。 –
+0
只有當用戶點擊「打開」按鈕時... – Bastian
3
我做了一個lib,使動畫幾乎與本地通知一樣。
檢查: https://github.com/OpenFibers/OTNotification
演示:
而當你在
- (void) application:(UIApplication *)application didReceiveLocalNotification: (UILocalNotification *)notification
{
OTNotificationManager *notificationManager = [OTNotificationManager defaultManager];
OTNotificationMessage *notificationMessage = [[OTNotificationMessage alloc] init];
notificationMessage.title = [self notificationTitle];
notificationMessage.message = @"A notification. Touch me to hide me.";
[notificationManager postNotificationMessage:notificationMessage];
}
2
接收到的消息可以發佈一個新的消息,這LIB接受的anser是正確的,但它不夠○接收所有通知,並顯示一些用戶從
- (void) application:(UIApplication *)application didReceiveLocalNotification: (UILocalNotification *)notification {
你必須檢查,是當前的通知與否。 有時會發生另一個通知(例如,當您取消它們時)。所以,你必須檢查,那是你除了:
- (void)application:(UIApplication *)application didReceiveLocalNotification:(UILocalNotification *)notification {
if (fabs([[NSDate date] timeIntervalSinceDate:[notification fireDate]]) <= 0.5f)
{
[[[UIAlertView alloc] initWithTitle:NSLocalizedString(@"Notification alert", @"")
message:notification.alertBody
delegate:self
cancelButtonTitle:@"Ok" otherButtonTitles:nil] show];
}
}
0
雨燕2.2:
func application(application: UIApplication, didReceiveLocalNotification notification: UILocalNotification) {
var state = application.applicationState
if state == .Active {
// handle the notification, e.g. show an alert
}
}
雨燕3.0:
func application(_ application: UIApplication, didReceive notification: UILocalNotification) {
var state: UIApplicationState = application.applicationState
if state == .active {
// handle the notification, e.g. show an alert
}
}
相關問題
- 1. 本地通知iPhone sdk
- 2. iphone中的本地通知
- 3. iPhone SDK中的本地通知設置操作
- 4. Gps通知iphone sdk
- 5. NS通知iphone sdk
- 6. 如何在iphone中編輯本地通知sdk objective c
- 7. 抵達當地通知iphone sdk
- 8. Iphone多個本地通知
- 9. iPhone:每日本地通知
- 10. 模擬器中的iphone本地通知
- 11. iPhone中的多個本地通知
- 12. iPhone的SDK 4.3 GDB通知
- 13. Corona SDK的本地通知(Android)
- 14. iPhone sdk:如何增加本地通知計數
- 15. 本地通知不在iphone中觸發
- 16. 本地通知不在iphone中觸發
- 17. 特定時間的iPhone本地通知
- 18. 本地通知
- 19. IOS 5本地通知,而在前臺,有沒有辦法
- 20. 設置在iPhone OS4中重複本地通知的結束日期SDK
- 21. 後臺隨機本地通知
- 22. 將iPhone從本地通知轉到iBeacon
- 23. 本地通知不取消iphone
- 24. iPhone本地通知將不會出現
- 25. iPhone iOS:本地通知未顯示
- 26. 如何取消本地通知iphone
- 27. 前臺發出Toast通知
- 28. 在前臺彈出通知
- 29. UIKeyboard通知的最佳實踐 - iPhone SDK
- 30. Iphone sdk - 生成本地HTML
非常感謝。現在,我在應用程序didReceiveLocalNotification方法中保留了一個UIAlertView,以便在應用程序已經運行時可以使用它來代替通知。但是當應用程序處於後臺並且通知被觸發並且應用程序到達前臺時,將調用此方法,並顯示alertView。你能告訴我如何避免這種情況嗎? –
好的,我們有applicationWillEnterForeground:方法。對不起,愚蠢的問題!非常感謝。 –
不是一個愚蠢的問題 - 你只是給了我正在尋找的答案:-) –