Отображение прогресса в режиме реального времени в виде уведомления в приложении Ioni c Cordova - PullRequest
0 голосов
/ 18 января 2020

Я ищу способ показать прогресс (например, расстояние, пройденное в работающем приложении), когда приложение работает в фоновом режиме (для работы в фоновом режиме я использую 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);
    });
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...