Скрыть кнопку действия уведомления во время выполнения
Я зарегистрировался для push-уведомлений и локальных уведомлений с помощью двух кнопок действий: action1 и action2. Получив уведомление, я могу видеть и то, и другое, а также принимать меры в зависимости от идентификатора действия. Однако один из моих вариантов использования требует, чтобы я спрятал одну или обе кнопки действий, прежде чем планировать локальное уведомление. Могу ли я сделать это во время выполнения?
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
В этом методе я регистрируюсь для уведомлений с 2 кнопками действия.
Я вижу, что в зависимости от контекста мы можем определить переменное количество кнопок действий. Однако контекст предопределен, а не определен пользователем.
2 ответа
Зарегистрируйте уведомление пользователя с несколькими категориями, как вам требуется, например, категория 1 с двумя действиями, категория 2 без действия, категория 3 с одним действием.
При создании локального уведомления, используйте определенную категорию, как вам требуется. вот так NotificationName.category = @"Category_identifier";
Для тех, кто ищет ответ на этот вопрос в 2023 году с помощью Swift, я сделал вот что, чтобы избавиться от всех кнопок действий для конкретного случая во время выполнения. В расширении NotificationService
var modifiedContent: UNMutableNotificationContent?
Затем вdidReceive
функция
guard let bestAttemptContent = modifiedContent else { return }
bestAttemptContent.categoryIdentifier = "" //Based on some condition