gpt4 book ai didi

iphone - UILocalNotification 的警报 Action 代码

转载 作者:技术小花猫 更新时间:2023-10-29 11:10:52 26 4
gpt4 key购买 nike

UILocalNotification *notif = [[cls alloc] init];
notif.fireDate = [self.datePicker date];
notif.timeZone = [NSTimeZone defaultTimeZone];

notif.alertBody = @"Did you forget something?";
notif.alertAction = @"Show me";

如果用户点击“showme”,应用程序应该会打开,他应该会收到提醒。我应该在哪里写这段代码?如果可能的话,请给我一些代码

最佳答案

根据触发通知时应用的状态,您将在两个位置收到有关 UILocalNotification 的通知。

1.在application:didFinishLaunchingWithOptions:方法中,如果应用程序既没有运行也没有在后台。

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

...
UILocalNotification *localNotif = [launchOptions objectForKey:UIApplicationLaunchOptionsLocalNotificationKey];
if (localNotif) {
// Show Alert Here
}
...
}

2.在 application:didReceiveLocalNotification: 方法中,如果应用程序正在运行或处于后台。当应用程序已经运行时显示警报几乎没有用。因此,您必须仅在通知触发时应用程序处于后台时才显示警报。要知道应用程序是否正在从后台恢复,请使用 applicationWillEnterForeground: 方法。

- (void)applicationWillEnterForeground:(UIApplication *)application {

isAppResumingFromBackground = YES;
}

使用它,您可以仅在应用程序从后台恢复时在 didReceiveLocalNotification: 方法中显示警报。

- (void)application:(UIApplication *)application didReceiveLocalNotification:(UILocalNotification *)notification {

if (isAppResumingFromBackground) {

// Show Alert Here
}
}

如果您想在触发通知时始终显示警报 View ,而不管应用的状态如何,您可以简单地省略 if-condition

关于iphone - UILocalNotification 的警报 Action 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8008235/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com