运行时隐藏通知操作按钮

6

我已经注册了两个操作按钮(action1和action2)的推送和本地通知。在收到通知时,我可以看到两个按钮,并根据操作id采取行动。然而,我的一个用例要求我在安排本地通知之前隐藏一个或两个操作按钮。我能在运行时做到这一点吗?

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 

在这种方法中,我正在注册带有2个操作按钮的通知。
我发现,根据上下文,我们可以定义变量数量的操作按钮。然而,上下文是预定义的,而不是用户定义的。

您可以使用UILocalNotification的属性userInfo。它是一个NSDictionary对象,您可以在安排本地通知时将您的值设置为隐藏选项。并在接收通知时获取该值。根据此值,您可以隐藏/显示您的选项。 - Shreyank
@Astha Gupta 你能修好这个问题吗?对你来说这个方法怎么样?我无法让它工作。谢谢。 - Missa
2个回答

1

根据您的要求,注册用户通知以涵盖多个类别,例如category1带有两个操作category2没有操作,以及category3只有一个操作。

在创建本地通知时,按照您的要求使用已定义的类别。 例如: notificationName.category = @"Category_identifier";


0
对于在2023年使用Swift寻找答案的任何人,这是我在运行时针对特定情况所做的,以摆脱所有操作按钮。在NotificationService扩展中。
var modifiedContent: UNMutableNotificationContent?

然后在didReceive函数中

guard let bestAttemptContent = modifiedContent else { return }
bestAttemptContent.categoryIdentifier = "" //Based on some condition

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接