我实施了Estimote SDK并添加了信标测距/扫描委托方法。现在,我想在设备刚进入信标区域时触发本地通知。在这里,我面临着本地通知的问题。 当我进入信标区域时,我收到的通知很好但是在随机间隔后重复多次。我不止一次收到本地通知。
第二件事是,有没有办法清除通知区域的触发通知。因为我想一次只显示1个通知。因此,当它触发本地通知时,它应该清除来自通知区域的存在通知,如果已经存在。
我尝试使用 cancelLocalNotification 和 cancelAllLocalNotifications ,但未删除通知。
答案 0 :(得分:0)
这是我的代码实现:
beaconRegion.notifyOnEntry = true
beaconRegion.notifyOnExit = true
self.beaconManager.delegate = self
self.beaconManager.requestAlwaysAuthorization()
self.beaconManager.startMonitoring(for: beaconRegion)
func beaconManager(_ manager: Any, didEnter region: CLBeaconRegion) {
if isAuthenticated == nil {
return
}
let notification = UILocalNotification()
notification.alertBody = "You are in beacon range."
notification.fireDate = Date.init(timeIntervalSinceNow: 2)
notification.userInfo = ["enterInBeaconRange":true]
UIApplication.shared.presentLocalNotificationNow(notification)
}
现在,如果我正在设置" cancelAllLocalNotifications"通知前的方法,它不会清除通知中心的所有先前通知。