收藏
回答

陀螺仪调用不起来?

本机版本2.12.2,但总是调不起来陀螺仪。

简单代码如下

if (this.compareVersion(Taro.getSystemInfoSync().SDKVersion, '2.3.0') >= 0) {
  if (Taro.startGyroscope) {
    Taro.startGyroscope({
      success: () => {
        Taro.onGyroscopeChange(res => {
          console.log('res', res)
        })
      }
    })
  } else {
    Taro.showModal({
      title: '提示',
      content: '版本支持,startGyroscope不支持' + Taro.getSystemInfoSync().SDKVersion
    })
  }
} else {
  Taro.showModal({
    title: '提示',
    content: '当前微信版本过低,无法使用该功能,请升级到最新微信版本后重试。'
  })
}
回答关注问题邀请回答
收藏

2 个回答

  • 社区技术运营专员-CJiang
    社区技术运营专员-CJiang
    2020-08-28

    你好,麻烦提供出现问题的具体机型、微信版本号、系统版本号,以及能复现问题的代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html

    2020-08-28
    有用
    回复
  • Vans
    Vans
    01-10

    我也遇到了同样的问题,Taro 3.0.21,微信基础库 2.14.3 提示:

    startGyroscope is not a function.

    01-10
    有用
    回复 2
    • Vans
      Vans
      01-10
      我找到原因了,是 Taro 的问题。

      在 node_modules\@tarojs\api\dist\index.esm.js 这个文件里面添加如下代码即可:

      1. noPromiseApis 这个对象中添加:

      startGyroscope: true,
      stopGyroscope: true,

      2. onAndSyncApis 这个对象添加:

      onGyroscopeChange: true,
      01-10
      回复
    • Vans
      Vans
      01-11
      已向官方报告此 issue,官方已经修复此 bug:https://github.com/NervJS/taro/issues/8496
      01-11
      回复
登录 后发表内容
问题标签