当第一次调用 stop() 方法时,计步器插件会出错
Posted
技术标签:
【中文标题】当第一次调用 stop() 方法时,计步器插件会出错【英文标题】:Step counter plugin gives error when the stop() method called after first time 【发布时间】:2018-03-24 07:35:21 【问题描述】:我在 ionic 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
请帮帮我。 任何建议表示赞赏。 谢谢。
【问题讨论】:
您是否尝试导入https://github.com/ihadeed/cordova-plugin-stepcounter.git
而不是 https://github.com/texh/cordova-plugin-stepcounter.git
?
谢谢你,但实际上我放弃了使用计步器插件的想法,因为它不支持所有安卓设备,所以我使用谷歌 fit api 来计算用户的步数
【参考方案1】:
在您使用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
中的停止按钮以表示“开始已完成”。
【讨论】:
感谢回复 但问题不存在。你看到我在代码下写的错误了吗?以上是关于当第一次调用 stop() 方法时,计步器插件会出错的主要内容,如果未能解决你的问题,请参考以下文章