Я ищу способ показать прогресс (например, расстояние, пройденное в работающем приложении), когда приложение работает в фоновом режиме (для работы в фоновом режиме я использую cordova-plugin-background-mode
).
Я мог бы Я не нашел ссылки на этот тип функциональности, и ближайший плагин, о котором я мог подумать, был cordova-plugin-local-notifications
. Проблема в том, что не представляется хорошим способом обновить существующее уведомление в режиме реального времени, поскольку оно воспроизводит звук при каждом обновлении, и это будет раздражать пользователя.
В следующем примере функция вызывается при каждом обновлении местоположения, когда приложение работает в фоновом режиме. Уведомление отображается и обновляется, но звук невозможно отключить, и он воспроизводится при каждом обновлении.
updateNotification(title: string, text: string) {
let options: ILocalNotificationExt = {
id: 1,
title: title,
text: text,
sound: null, // this does not work, sound cannot be disabled
vibrate: false // it still vibrates on silent mode
};
this.localNotifications.isPresent(1).then((isPresent: boolean) => {
if (!isPresent) {
this.localNotifications.requestPermission().then((res: boolean) => {
if (res) {
cordova.plugins.notification.local.schedule(options);
}
}).catch((err: Error) => {
console.error(err);
});
} else {
cordova.plugins.notification.local.update(options);
}
}).catch((err: Error) => {
console.error(err);
});
}