gpt4 book ai didi

ios - 如何在 iphone 中点击应用程序图标时清除角标(Badge)计数器?

转载 作者:搜寻专家 更新时间:2023-10-31 21:49:49 24 4
gpt4 key购买 nike

我们使用 phonegap 开发了一个 ios 应用程序,并在我们的应用程序中实现了推送通知功能。推送通知对我们来说工作得很好。我们已经为两者(警报和角标(Badge))配置了推送通知,两者都可以正常工作。当我们单击警报列表时,它会将我们重定向到应用程序并清除警报列表中的所有通知,并且角标(Badge)计数器也设置为 0。

但是当我们点击应用程序图标(角标(Badge)计数器)时,它会将应用程序带到前台,但角标(Badge)计数器和警报不会被清除。

我们在 didFinishLaunchingWithOptions 方法(在 appdelegate.m 文件中)中使用了以下代码来清除警报并仅在单击警报时重置角标(Badge)

 application.applicationIconBadgeNumber = 0;

当我们点击带有角标(Badge)计数器的应用程序图标时,任何人都可以为我们提供显示相同行为的解决方案。

最佳答案

要在应用程序激活时清除角标(Badge)计数,请使用 delegate 方法。您可以在 AppDelegate 中使用 UIApplicationDelegate

applicationWillEnterForegroundapplicationDidBecomeActive 中调用 [[UIApplication sharedApplication] setApplicationIconBadgeNumber:0];

- (void)applicationWillEnterForeground:(UIApplication *)application

{
[[UIApplication sharedApplication] setApplicationIconBadgeNumber:0];
}

- (void)applicationDidBecomeActive:(UIApplication *)application
{
[[UIApplication sharedApplication] setApplicationIconBadgeNumber:0];
}

swift

func applicationWillEnterForeground(application: UIApplication) {
UIApplication.sharedApplication().applicationIconBadgeNumber = 0
}

func applicationDidBecomeActive(application: UIApplication) {
UIApplication.sharedApplication().applicationIconBadgeNumber = 0
}

对于 Swift 3:

UIApplication.shared.applicationIconBadgeNumber = 0

iOS 13 >

func sceneDidBecomeActive(_ scene: UIScene) {
UIApplication.shared.applicationIconBadgeNumber = 0
}

enter image description here

关于ios - 如何在 iphone 中点击应用程序图标时清除角标(Badge)计数器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27311910/

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