Ionic Native Stepcounter вылетает после перезагрузки телефона и больше не работает - PullRequest
0 голосов
/ 14 января 2019

В настоящее время я реализую ионное приложение для 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();
    }


    }
...