gpt4 book ai didi

ios - 当我点击其中一个通知时,所有通知都被隐藏

转载 作者:行者123 更新时间:2023-11-30 13:20:33 28 4
gpt4 key购买 nike

当单击推送通知时,推送通知警报会从通知横幅中隐藏,这是可以的,但是当我只是打开应用程序而不是单击通知时,推送通知会自动清除,为什么?我在启动应用程序时没有重置角标(Badge)。假设我的手机上有 5 条通知。如果我打开其中一个,所有其他通知都会消失。我只希望点击的那个消失。是的,我知道这是 ios 的默认属性,但我想显示通知,直到用户手动单击或清除它。我就是这样处理的

 func application(application: UIApplication, didReceiveRemoteNotification userInfo: [NSObject : AnyObject]) {
print("this calls")
print(userInfo)//json
let aps = userInfo["aps"] as! [String: AnyObject]
let new = userInfo["news"] as! [String: AnyObject]
let storyboard = UIStoryboard(name: "Main", bundle: nil)
let vc = storyboard.instantiateViewControllerWithIdentifier("navVC") as? navViewController

let state:UIApplicationState = application.applicationState
if (state == UIApplicationState.Inactive || state == UIApplicationState.Background) {
if let _ = aps["alert"] as? String,let newsId = new["news_id"] as? Int {

print(newsId)
NSUserDefaults.standardUserDefaults().setInteger(newsId, forKey: "K_Push_Id")
NSUserDefaults.standardUserDefaults().synchronize()
}

if let category_name = new["category_name"]{
print(category_name)
NSUserDefaults.standardUserDefaults().setObject(category_name, forKey: "category_name")
NSUserDefaults.standardUserDefaults().synchronize()
}
self.window?.rootViewController = vc
self.window?.makeKeyAndVisible()
NSNotificationCenter.defaultCenter().postNotificationName("pushNotificationIdentifier", object: nil)
}
}

最佳答案

我在appdelegate中这样做了

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

因此,每次我打开应用程序时,都会将 applicationIconBadgeNumber 设为零,如果 applicationIconBadgeNumber 为零,则会清除通知中心的所有通知。

关于ios - 当我点击其中一个通知时,所有通知都被隐藏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37802862/

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