В настоящее время я реализую ионное приложение для Android с функцией подсчета шагов. Для этого я использовал нативный API Cordova: cordova-plugin-stepcounter.
Когда я устанавливаю приложение на Samsung S9, Samsung S7, Samsung Note или другие смартфоны, шаги учитываются после первого запуска приложения. Я могу закрыть приложение, и шаги все равно будут учитываться. Все работает гладко, пока перезапуск не приводит к сбою приложения. После перезагрузки телефона приложение вылетает и больше шагов не учитывается. Значение шага такое же, как и до перезагрузки телефона. После перезапуска шаги больше не учитываются.
Запуск метода «start (startOffset)» для повторного запуска пошагового счетчика, к сожалению, недостаточен. Чтобы Stepcounter снова заработал, вам нужно удалить и переустановить приложение.
Спасибо за любой совет:)
import { Component } from '@angular/core';
import { IonicPage, NavController, NavParams } from 'ionic-angular';
import { StatusBar } from '@ionic-native/status-bar';
import { Stepcounter } from '@ionic-native/stepcounter';
@IonicPage()
@Component({
selector: 'page-tab1',
templateUrl: 'tab1.html'
})
export class Tab1Page {
steps: any;
dailysteps: any;
startingOffset: any;
error: any;
constructor(public navCtrl: NavController, public navParams: NavParams, public statusBar: StatusBar, private stepcounter: Stepcounter) {
this.dailysteps = this.fetchDailySteps();
}
startStepcounter(){
this.stepcounter.start(this.startingOffset).then((startingOffset) => {
this.steps = startingOffset;
}).catch((error) => {
alert(error);
});
}
fetchDailySteps(){
this.stepcounter.getTodayStepCount().then((schritte) => {
this.dailysteps = schritte;
}).catch((error) => {
this.error = 'Error Tagesschritte: ' + error;
alert(error);
});
}
ionViewDidLoad() {
this.startStepcounter();
}
}