第一次调用stop()方法后,步计数器插件会出错

时间:2017-10-12 11:22:30

标签: cordova typescript ionic-framework cordova-plugins ionic-native

我在离子v3.x中执行步数计数器时遇到问题, 这是代码

import { Stepcounter } from '@ionic-native/stepcounter';

startPedometer() {

if (this.buttonIcon === 'md-walk') {
  this.buttonIcon = "md-man";
  this.startbuttonDisabled = false
  this.stopbuttonDisabled = true
  let startOffset = 0
  this.stepcounter.start(startOffset).then((res: any) => {
    this.success("Started : " + res)
  }).catch((err) => this.failure(err))
}
else if (this.buttonIcon === 'md-man') {
  this.buttonIcon = "md-walk";
  this.stopbuttonDisabled = false
  this.startbuttonDisabled = true
  this.stepcounter.stop().then((res: any) => {
    this.count = res
  }).catch((err) => this.failure(err))
}
}

ionViewDidEnter(){
this.stepcounter.getStepCount().then((res:any)=>{
  console.log("---------counts-----------"+JSON.stringify(res));
  this.count = res
})
}

我收到以下错误

service not registered: net.texh.cordovapluginstepcounter.CordovaStepCounter$1@36cef5f

请帮帮我。 任何建议表示赞赏。 感谢。

1 个答案:

答案 0 :(得分:-1)

将按钮转换为"停止&#34>之间会有一段时间。使用md-man的按钮和完成的实际开始请求。

附加说明的解释:

if (this.buttonIcon === 'md-walk') {

  // Change buttons (instant)

  this.stepcounter.start(startOffset).then((res: any) => {

    // The counter has actually started (remember this is async)

  }).catch((err) => this.failure(err))
}

要解决此问题,您应在then内启用停止按钮,以便"开始完成"。