gpt4 book ai didi

ios - 确定 UILocalNotification 是否是从调度或用户交互中触发的

转载 作者:行者123 更新时间:2023-12-03 16:48:36 26 4
gpt4 key购买 nike

我正在尝试确定 UIApplication didReceiveLocalNotification: 的不同场景。如果用户在应用程序处于非事件状态时单击通知,我应该将他们带到相应的 UI 页面。否则,如果用户只是打开应用程序而没有点击通知,我应该让他们停留在他们离开的 UI 页面中。

但是,有一个小问题,因为 UILocalNotification 是我自己安排的。

[[UIApplication sharedApplication] scheduleLocalNotification:scheduledAlert];

因此,每次由 iOS 触发时,当我手动单击状态栏上的通知时,它都会调用与回调相同的委托(delegate)方法:

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

我尝试了一些棘手的技巧,例如在应用程序处于非事件模式时计算触发次数,计数 1 表示 iOS 触发,计数 2 表示用户点击,以及相对计数管理代码。

但我不认为这可能是最佳实践。我检查了 iOS 消息应用程序,它具有相同的功能。如果您将应用程序置于非事件模式,例如向下滚动状态栏,那么它可以确定 UILocalNotification 是来自您的触摸(并将打开文本编辑模式),或者只是您返回到应用程序(保持之前的状态)。

如果你们能让我知道最好的解决方案是什么,我将不胜感激!

最佳答案

我使用自定义键值对,设置 NSMutableDictionary,然后将其分配给 UILocalNotification.userInfo,以告诉不同的场景。

关于ios - 确定 UILocalNotification 是否是从调度或用户交互中触发的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16534139/

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