Я пытаюсь сделать приложение stepcounter в javascript с помощью cordova, но pedometer.startPedometerUpdates (successHandler, onError) всегда возвращает обработчик ошибок (никогда не successHandler)
Я использую кордова-плагин-шагомер
https://www.npmjs.com/package/cordova-plugin-pedometer
Там написано: Обработчик успеха выполняется, когда данные доступны, и повторно вызывается из фонового потока при поступлении новых данных.
но, как я уже сказал, мой successHandler никогда не выполняется, поэтому, по моему мнению, он не вызывается повторно или нет данных для работы, но я не знаю, как его решить.
Я знаю, что есть 2 вопроса, которые близки к моему вопросу, но нет полезных ответов.
Кордова плагин Шагомеры
Как использовать плагин для шагомера?
мой код:
var app = {
// Application Constructor
initialize: function() {
document.addEventListener('deviceready', this.onDeviceReady.bind(this), false);
},
// deviceready Event Handler
//
// Bind any cordova events here. Common events are:
// 'pause', 'resume', etc.
onDeviceReady: function() {
//PEDOMETER
var successHandler = function(data) {
// pedometerData.startDate; -> ms since 1970
// pedometerData.endDate; -> ms since 1970
console.log('step');
alert("step");
alert(data.numberOfSteps + " " + data.distance);
// pedometerData.distance;
// pedometerData.floorsAscended;
// pedometerData.floorsDescended;
};
var onError = function(){
//alert("pedometer failure");
};
var successCallback = function (){
console.log("success");
alert("success");
};
var failureCallback = function (){
console.log("failure");
alert("failure");
};
pedometer.startPedometerUpdates(successHandler, onError);
//pedometer.stopPedometerUpdates(successCallback, failureCallback);
pedometer.isDistanceAvailable(successCallback, failureCallback);
pedometer.isStepCountingAvailable(successCallback, failureCallback);
}
app.initialize();
isDistanceAvailable, isStepCountingAvailable оба возвращают успех.
Я тестирую его на Xiaomi redmi 3 с Android Lolipop 5.0.
Спасибо за любую помощь.