gpt4 book ai didi

ios - 在前台收到本地通知时如何跳过设置UIApplication.applicationIconBadgeNumber?

转载 作者:行者123 更新时间:2023-12-01 19:10:10 24 4
gpt4 key购买 nike

我安排了UILocalNotification,它将应用程序徽章号设置为1。

但是,如果应用程序位于前台,我不想设置应用程序徽章编号。
为此,我尝试了AppDelegate中的以下代码:

- (void)application:(UIApplication *)application didReceiveLocalNotification:
(UILocalNotification *)notification
{
[UIApplication sharedApplication].applicationIconBadgeNumber = 0;
}

最初看起来像上面的代码,只有在获得并设置了通知的徽章编号之后,该代码才被调用。
结果,以上代码无效。

当前台应用程序收到本地通知时,如何不设置徽章编号?

可以实施变通方法,例如在应用程序即将后台时清除徽章编号,但是我很好奇是否有更清洁的解决方案。

最佳答案

如果要对前景和背景进行不同的操作,则需要在此方面进行内务处理。注册UIApplicationDidEnterBackgroundNotificationUIApplicationWillEnterForegroundNotification通知(或激活/停用路径中的类似通知)的侦听器。但这仍然不是一个稳定的解决方案,因为它很大程度上取决于何时调用处理程序以及何时发布通知。

对于干净的解决方案,您应该按照的建议,在应用程序进入后台时清除徽章。这与其他应用程序的行为相对应。恕我直言,将操作复杂化是不值得的,以这种方式引入错误非常容易。

关于ios - 在前台收到本地通知时如何跳过设置UIApplication.applicationIconBadgeNumber?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17007908/

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