Я хочу создать приложение, которое показывает некоторый прогресс в строке состояния (для случая, когда устройство заблокировано, а приложение работает в фоновом режиме).
Прогресс является таймером, поэтому он обновляется каждую секунду. Проблема заключается в том, что при каждом обновлении локального уведомления оно также воспроизводит системный звук сообщения по умолчанию или вибрирует, когда устройство находится в режиме вибрации.
Я пробовал несколько разных способов установить параметры уведомления. Я пытался использовать расписание и обновления (но это привело только к тому, что уведомление вообще не показывалось).
Мой код для создания локального уведомления с использованием функции обновлений:
private createPushNotification(title: string, text: string, isImportant: boolean) {
if(!this.localNotifications.hasPermission) this.localNotifications.requestPermission()
if(this.localNotifications.isPresent(1)){
this.localNotifications.update({
id: 1,
title: title,
text: text,
vibrate: false,
sound: null,
wakeup: false,
launch: true
});
}
else{
this.localNotifications.schedule({
id: 1,
title: title,
text: text,
vibrate: false,
sound: null,
wakeup: true,
launch: true,
sticky: true
});
}
}
без функции обновления, она, по крайней мере, работает, но каждую секунду воспроизводит тональный сигнал сообщения:
private createPushNotification(title: string, text: string, isImportant: boolean) {
this.localNotifications.schedule(
id: 1,
title: title,
text: text,
vibrate: false,
sound: null,
wakeup: true,
launch: true,
sticky: true
});
}
Я ожидаю, что Уведомление будет молчать, когда я установлю для параметра "sound" значение null (потому что оно так говорит на нескольких ресурсах), и отключу вибрацию, когда я установлю его на false.