Приложение Ionic для Android аварийно завершает работу после перезагрузки телефона, а затем cordova-plugin-stepcounter больше не работает - PullRequest
0 голосов
/ 29 декабря 2018

В настоящее время я внедряю ионное приложение для Android и iOS с функцией подсчета шагов.Для этого я использовал нативный API Cordova: cordova-plugin-stepcounter.

Когда я устанавливаю приложение на свой Samsung S9, шаги учитываются после первого запуска приложения.Я могу закрыть приложение, и шаги все равно будут учитываться.Все работает гладко, пока перезапуск не приводит к сбою приложения.После перезагрузки телефона приложение вылетает и больше шагов не учитывается.Значение шага такое же, как и до перезагрузки телефона.После перезапуска шаги больше не учитываются.

К сожалению, недостаточно запустить метод "start (initialOffset)", чтобы снова запустить счетчик шагов.

Для того, чтобы 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();
}


}
...