use*_*189 3 iphone objective-c apple-push-notifications ios swift
我们使用phonegap开发了一个ios应用程序,并在我们的应用程序中实现了推送通知功能.推送通知对我们来说非常好.我们已经为两者(警报和徽章)配置了推送通知,两者都可以正常工作.当我们单击警报列表时,它会将我们重定向到应用程序并清除警报列表中的所有通知,并且徽章计数器也设置为0.
但是,当我们点击应用程序图标(徽章计数器)时,它会将应用程序带到前台,但徽章计数器和警报不会被清除.
我们在didFinishLaunchingWithOptions方法(在appdelegate.m文件中)中使用了以下代码,该方法清除警报并仅在点击警报时重置徽章
application.applicationIconBadgeNumber = 0;
Run Code Online (Sandbox Code Playgroud)
当我们点击带有徽章计数器的应用程序图标时,任何人都可以向我们提供显示相同行为的解
Anb*_*hik 21
要在应用程序变为活动状态时清除徽章计数,请使用delegate方法
调用[[UIApplication sharedApplication] setApplicationIconBadgeNumber:0]; 在applicationWillEnterForeground或applicationDidBecomeActive中
- (void)applicationWillEnterForeground:(UIApplication *)application
{
[[UIApplication sharedApplication] setApplicationIconBadgeNumber:0];
}
Run Code Online (Sandbox Code Playgroud)
要么
- (void)applicationDidBecomeActive:(UIApplication *)application
{
[[UIApplication sharedApplication] setApplicationIconBadgeNumber:0];
}
Run Code Online (Sandbox Code Playgroud)
迅速
func applicationWillEnterForeground(application: UIApplication) {
UIApplication.sharedApplication().applicationIconBadgeNumber = 0
}
Run Code Online (Sandbox Code Playgroud)
要么
func applicationDidBecomeActive(application: UIApplication) {
UIApplication.sharedApplication().applicationIconBadgeNumber = 0
}
Run Code Online (Sandbox Code Playgroud)
对于Swift 3:
UIApplication.shared.applicationIconBadgeNumber = 0
Run Code Online (Sandbox Code Playgroud)

如果您使用的是支持多个窗口的 iOS 13,请对方法 Scene Became active 执行相同的操作。此方法位于 SceneDelegate 上。
func sceneDidBecomeActive(_ scene: UIScene) {
UIApplication.shared.applicationIconBadgeNumber = 0;
}
Run Code Online (Sandbox Code Playgroud)
在 Swift 中,要放入以下工作func applicationWillEnterForeground(application: UIApplication):
UIApplication.sharedApplication().applicationIconBadgeNumber = 0
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10750 次 |
| 最近记录: |