iOS:以编程方式关闭锁定屏幕上显示的通知?

Posted

技术标签:

【中文标题】iOS:以编程方式关闭锁定屏幕上显示的通知?【英文标题】:iOS: Programmatically dismiss a notification that is displayed on lock screen? 【发布时间】:2017-10-20 23:26:05 【问题描述】:

想象一下:用户在锁定屏幕上看到通知,例如“您的服务器在线”。然后发生了一些变化,例如服务器离线。即使在锁定屏幕上显示通知后,我也可以通过编程方式从后台删除(关闭它)吗?

【问题讨论】:

【参考方案1】:

是的,您实际上可以这样做,您通常会在即时通讯应用程序或社交网络应用程序中看到它,例如,在某些具有网络版本的即时通讯应用程序中,如果您收到一条消息并从网络上阅读它,但您已经在您的 ios 应用程序上收到了推送,当这种情况发生时,您必须发送另一个推送而不显示消息,而是一个带有值的标签,表明您想要的任何内容:

- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler 

  if([[userInfo objectForKey:@"reset"] boolValue])
    [[UIApplication sharedApplication] setApplicationIconBadgeNumber: 0];
  


这是silent push notification。

【讨论】:

以上是关于iOS:以编程方式关闭锁定屏幕上显示的通知?的主要内容,如果未能解决你的问题,请参考以下文章

以编程方式关闭 Amazon Fire TV 屏幕保护程序

iOS 本地通知不会在锁定屏幕上播放声音

Android 全屏通知不会显示在锁定屏幕上

如何在锁定屏幕上显示 gcm 推送通知?

使 iPad 屏幕关闭,但通过触摸唤醒(无锁定) - - iOS 6.0 / openFrameworks

我如何以编程方式锁定手机android