目前,我正在为Android实现一个离子应用程序,该功能可以计算步数。为此,我使用了Cordova的本地api:cordova-plugin-stepcounter。
当我在Samsung S9,Samsung S7,Samsung Note或其他智能手机上安装该应用程序时,将在该应用程序首次启动后计算步骤。我可以关闭该应用程序,并且仍然会计算步骤。一切运行平稳,直到重新启动使应用程序崩溃为止。重新启动手机后,应用程序崩溃且不再计算任何步骤。步骤的值与电话重启之前的值相同。重新启动后,将不再计算步骤。
不幸的是,运行方法“ start(startingOffset)”以使步数计数器再次运行是不够的。为了使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();
}
}