Приложение Ionic для Android аварийно завершает работу после перезагрузки телефона, а затем cordova-plugin-stepcounter больше не работает
В настоящее время я реализую ионное приложение для Android и iOS с функцией подсчета шагов. Для этого я использовал нативный API Cordova: cordova-plugin-stepcounter.
Когда я устанавливаю приложение на свой Samsung S9, шаги учитываются после первого запуска приложения. Я могу закрыть приложение, и шаги все равно будут учитываться. Все работает гладко, пока перезапуск не приводит к сбою приложения. После перезагрузки телефона приложение вылетает и больше шагов не учитывается. Значение шага такое же, как и до перезагрузки телефона. После перезапуска шаги больше не учитываются.
К сожалению, недостаточно запустить метод start (startOffset) для повторного запуска stepcounter.
Для того, чтобы 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 {
anzahl: 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.anzahl = 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();
}
}