2014-12-05 138 views
3

我们开发了一个使用phonegap的ios应用程序,并在我们的应用程序中实现了推送通知功能。 推送通知对我们来说完美无缺。我们为(警报和徽章)配置了推送通知,两者都正常工作。 当我们点击提醒列表时,它会将我们重定向到应用程序,并清除所有来自提醒列表的通知,并且徽章计数器设置为0.如何在iphone中点击应用图标清除徽章计数器?

但是,当我们单击应用程序图标(徽章计数器)时带来的应用程序的前景,但徽章计数器和警报没有得到清除。

我们用下面的方法didFinishLaunchingWithOptions(在appdelegate.m文件)的代码,清除了警报,只有在点击警报重置徽章

application.applicationIconBadgeNumber = 0; 

谁能为我们提供解决方案,显示相同当我们点击带有徽章计数器的应用图标时的行为。

+1

HTTP://计算器.COM /问题s/14038680/how-to-clear-push-notification-badge-count-in-ios试试这个 – 2014-12-05 08:46:22

回答

20

要清除徽章计数每当应用程序被激活使用delegate方法

呼叫[[UIApplication的sharedApplication] setApplicationIconBadgeNumber:0];在任一applicationWillEnterForeground也不applicationDidBecomeActive

- (void)applicationWillEnterForeground:(UIApplication *)application 

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

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

夫特

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

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

的SWIFT 3:

UIApplication.shared.applicationIconBadgeNumber = 0 

enter image description here

+0

在哪里调用这些函数?我们的appdelegate文件中没有这样的方法。 – user2240189 2014-12-05 09:04:15

+0

复制此方法的任何人并粘贴到您的** AppDelegate.m ** – 2014-12-05 09:05:41

+0

看到我的更新的答案] – 2014-12-05 09:08:32

2

在夫特以下工作以把在func applicationWillEnterForeground(application: UIApplication)

UIApplication.sharedApplication().applicationIconBadgeNumber = 0 
相关问题