我正在尝试确定UIApplication didReceiveLocalNotification:
. 如果用户在应用处于非活动状态时单击通知,我应该将他们带到相应的 UI 页面。否则,如果用户只是打开应用程序而没有点击通知,我应该让他们留在他们离开的 UI 页面中。
但是,由于是我自己安排的,所以有一个小问题UILocalNotification
。
[[UIApplication sharedApplication] scheduleLocalNotification:scheduledAlert];
所以每次被iOS触发时,当我手动点击状态栏上的通知时,它会调用与回调相同的委托方法:
- (void)application:(UIApplication *)application didReceiveLocalNotification:(UILocalNotification *)notification { ... }
我尝试了一些棘手的技巧,例如在应用程序处于非活动模式时计算触发时间,计数 1 表示 iOS 触发,计数 2 表示用户点击,以及相关计数管理代码。
但我不认为这可能是最佳做法。我检查了具有相同功能的 iOS 消息应用程序。如果您将应用程序置于非活动模式,例如向下滚动状态栏,那么它可以UILocalNotification
通过您的触摸确定是(并会打开文本编辑模式)或者只是您返回应用程序(保持之前的状态) .
如果你们能告诉我最好的解决方案是什么,我将不胜感激!