gpt4 book ai didi

ios - 在 applicationDidBecomeActive 上触发本地通知

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:04:40 26 4
gpt4 key购买 nike

我正在使用 UILocalNotification 对象开发闹钟应用程序。在我的代码中,当报警并且用户点击通知面板时,我的应用程序将显示另一个 View Controller 。为了满足这种情况,我在下面添加了不同生命周期的代码:

  1. 闹钟时,应用程序在前台,
  2. 应用在后台运行,用户点击通知面板启动应用,
  3. 应用被终止,用户点击通知面板来启动应用。

报警时,如果用户点击应用图标触发,而不是点击通知面板,我的函数在didReceiveLocalNotification中没有触发。如何编码来满足这种情况?


为了在应用程序被杀死时触发通知,iOS 可以自动检查计划的通知并在 launchOptions 对象中响应

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

[self registerNotification];

UILocalNotification *localNotification =
[launchOptions objectForKey:UIApplicationLaunchOptionsLocalNotificationKey];
if (localNotification) {
// Launch VideoVC
application.applicationIconBadgeNumber = 0;
[application presentLocalNotificationNow:localNotification];
}
}

用于在用户点击通知时启动自定义功能

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

[self launchMyFunction]
}

如果用户在触发警报时点击应用图标而不是通知面板,则不会触发 didReceiveLocalNotification

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

// How to trigger the notification??????
}

最佳答案

我终于用badge number解决了。感谢所有回答我的问题给了我启发的成员(member)。

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

if([UIApplication sharedApplication].applicationIconBadgeNumber > 0){
[self myFunction];
}
}

关于ios - 在 applicationDidBecomeActive 上触发本地通知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38637153/

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