Как получить общее количество накопленных шагов без каких-либо событий в веб-приложении tizen? - PullRequest
0 голосов
/ 04 октября 2019

Приложение предназначено для часового механизма Samsung s3. Я уже пробовал следующий код:

function onchangedCB(pedometerInfo) {    
    console.log('accumulativeTotalStepCount: ' + pedometerInfo.accumulativeTotalStepCount);
    tizen.humanactivitymonitor.unsetAccumulativePedometerListener();
}

tizen.humanactivitymonitor.setAccumulativePedometerListener(onchangedCB);

В этих данных все, что я получаю, является правильным, но в этом коде функция onchangedCB будет вызываться только при изменении активности (например, ходьба, бег) иМне нужно общее количество шагов до времени только в этом движении, я не хочу ждать, пока не произойдет следующее действие.

Я также пытался:

tizen.humanactivitymonitor.start("PEDOMETER",
        function onSuccess(pedometerInfo) {
                  console.log(pedometerInfo.cumulativeTotalStepCount)
        }
);
function onsuccessCB(pedometerInfo) {
     console.log("Accumulative total step count : " + pedometerInfo.accumulativeTotalStepCount);
}
function onerrorCB(error) {
     console.log("Error occurs. name:"+error.name + ", message: "+error.message);
}
tizen.humanactivitymonitor.getHumanActivityData("PEDOMETER", onsuccessCB, onerrorCB);

getHumanActivityData возвращает данные сразу, но не можетполучить накопительное значение TotalStepCount.

1 Ответ

0 голосов
/ 14 октября 2019

К сожалению, вы не можете достичь своей цели с помощью веб-API Humanactivity. Поскольку он остается в setAccumulativePedometerListener () Ссылка API используется для регистрации прослушивателя для изменения данных («когда новые данные доступны»). Это дает понять, что это не ваш вариант использования.

Функция getHumanActivityData () предназначена для возврата данных с момента последнего вызова start () для этого датчика, который также неоправдать ваши ожидания в отношении общего количества шагов (накопленных).

Я могу только предложить вам какой-то обходной путь с получением накопительного значенияTotalStepCount, когда оно доступно в вашем приложении, и кэшируйте его при закрытии приложения. Тогда, пока ваше приложение не будет собирать обновленные данные, результат будет приблизительно точным. И обновляется после первого вызова слушателя.

РЕДАКТИРОВАТЬ: необходимые данные не доступны из веб-API, но они могут быть предоставлены с использованием нативный API . Вы также можете обратиться к концепции гибридного приложения , которая использует веб-приложение и собственный сервис, который связывается с приложением и предоставляет данные

...