@H_403_2@
我们使用phonegap开发了一个ios应用程序,并在我们的应用程序中实现了推送通知功能.
推送通知对我们来说非常好.我们已经为两者(警报和徽章)配置了推送通知,两者都可以正常工作.
当我们单击警报列表时,它会将我们重定向到应用程序并清除警报列表中的所有通知,并且徽章计数器也会设置为0.
推送通知对我们来说非常好.我们已经为两者(警报和徽章)配置了推送通知,两者都可以正常工作.
当我们单击警报列表时,它会将我们重定向到应用程序并清除警报列表中的所有通知,并且徽章计数器也会设置为0.
@H_502_10@
但是,当我们点击应用程序图标(徽章计数器)时,它会将应用程序带到前台,但徽章计数器和警报不会被清除.@H_502_10@
我们在didFinishLaunchingWithOptions方法(在appdelegate.m文件中)中使用了以下代码,该方法清除警报并仅在点击警报时重置徽章@H_502_10@
@H_502_10@
application.applicationIconBadgeNumber = 0;
解决方法
要在应用程序变为活动状态时清除徽章计数,请使用委托方法
@H_502_10@
调用[[UIApplication sharedApplication] setApplicationIconBadgeNumber:0];在applicationWillEnterForeground或applicationDidBecomeActive中@H_502_10@
@H_502_10@
- (void)applicationWillEnterForeground:(UIApplication *)application { [[UIApplication sharedApplication] setApplicationIconBadgeNumber:0]; }
要么@H_502_10@
@H_502_10@
- (void)applicationDidBecomeActive:(UIApplication *)application { [[UIApplication sharedApplication] setApplicationIconBadgeNumber:0]; }
迅速@H_502_10@
@H_502_10@
func applicationWillEnterForeground(application: UIApplication) { UIApplication.sharedApplication().applicationIconBadgeNumber = 0 }
要么@H_502_10@
@H_502_10@
func applicationDidBecomeActive(application: UIApplication) { UIApplication.sharedApplication().applicationIconBadgeNumber = 0 }
对于Swift 3:@H_502_10@
@H_502_10@
UIApplication.shared.applicationIconBadgeNumber = 0
@H_403_2@