当前位置: 首页 > 知识库问答 >
问题:

只有当应用程序关闭时才会发出通知[重复]

秦宏硕
2023-03-14

我想在我的应用程序上安排每日通知。但问题是,当应用程序打开时,通知不会出现,只有当我退出应用程序时,通知才会出现。

注意:我是ios开发的初学者

我的职能:

func sheduleDailyLocalNotification() {
    
    let calendar = Calendar.current
    let hour = calendar.component(.hour, from: currentDate)
    let minute = calendar.component(.minute, from: currentDate)

    
    UNUserNotificationCenter.current().requestAuthorization(options: [.alert, .badge, .sound]) { success, error in
        
        if success {
            
            let content = UNMutableNotificationContent()
            content.title = "iGrow Goals"
            content.subtitle = "Don't forget to check your today's goal steps"
            content.sound = UNNotificationSound.default
            
            // Configure the recurring date.
            var dateComponents = DateComponents()
            dateComponents.calendar = Calendar.current
            
            dateComponents.hour = hour
            dateComponents.minute = minute
            
            let trigger = UNCalendarNotificationTrigger(
                dateMatching: dateComponents, repeats: false)
            
            // choose a random identifier
            let request = UNNotificationRequest(identifier: UUID().uuidString, content: content, trigger: trigger)
            
            // add our notification request
            UNUserNotificationCenter.current().add(request)
                            
        }else if let error = error {
            print(error.localizedDescription)
        }
        
    }
    
    
}

共有1个答案

方弘
2023-03-14

设置UNUserNotificationCenter委托如下(在您的应用生命周期的早期):

let userNotificationCenter = UNUserNotificationCenter.current()
userNotificationCenter.delegate = self
// delegate must adopt UNUserNotificationCenterDelegate protocol

然后在UnuseNotificationCenter委托中实现此方法:

func userNotificationCenter(_ center: UNUserNotificationCenter, willPresent notification: UNNotification, withCompletionHandler completionHandler: @escaping (UNNotificationPresentationOptions) -> Void) {
    completionHandler([.badge, .alert, .sound]) // Insert in the returned array what the app should handle
}

如果在应用程序位于前台时触发通知,则假定应用程序可以处理该通知(可能使用自定义行为和界面),但实现上述方法可以触发默认行为。

 类似资料:
  • 当应用程序完全关闭时,如何以编程方式发送通知? 示例:用户关闭应用程序,也在Android Taskmanager中,然后等待。应用程序应在X秒后或应用程序检查更新时发送通知。 我试图使用这些代码示例,但是: 应用程序关闭时推送通知-活动太多/无法工作 我如何让我的应用程序在关闭时发送通知很多信息,但我不知道如何处理 当android应用程序关闭时,如何发送本地通知?-很多信息,但我不知道如何处理

  • 我想知道是否有可能在应用程序打开然后关闭时向设备发送本地通知。 当我的应用程序打开并在后台时,它已经工作了。 谢啦 编辑:我想我还不够清楚: 我想在给定时间发送本地通知,即使应用程序当时未运行。

  • 我想用Xamarin格式的C#创建一个基于文本的Android游戏。 在故事中,我想设置角色任务,这需要一些时间,例如“我去挖这个洞,完成后给你打电话。” 如何将通知设置为在设置的时间之后显示?例如,上述声明可能需要10分钟,然后用户收到继续游戏的通知? 我一周前才开始做C#,所以如果这是noobish,或者已经被问到了,我道歉。我到处都找过,但有几种类型的通知,当我试图理解它时,似乎我在读法语。

  • 这里是模块链接https://github.com/zo0r/react-native-push-notification在ios通知工作正常时,在后台和前台也,但在android前台工作正常,但在后台我得到了通知,当点击该通知应用程序重新启动,并没有显示任何警报在android, 在iOS中,这些功能运行良好。但在Android系统中,我面临着这个问题 任何人能给我一些建议,如何解决它,任何帮助

  • 仅当应用程序关闭时,数据有效负载的使用不会收到任何通知,并且不会触发消息接收方法。 在下图中显示数据负载,单击此处查看参数 回复是点击这里查看回复 响应成功1,但在redmi手机中未收到任何通知。

  • 我目前正在开发Android(Cordova)应用程序,我正在使用Oneignal推送通知。首先,如果我关闭应用程序,推送通知不会被传递,所以我不得不添加一个Cordova插件来保持我的应用程序在后台运行: 我在deviceready之后的代码: 谢了。