我正在尝试使用来自Ionic native的Gyroscope插件 . 以下是我的离子信息 .

@ ionic / cli-utils:1.19.2离子(Ionic CLI):3.20.0 cordova(Cordova CLI):8.0.0 Ionic Framework:ionic-angular 3.9.2系统:Android SDK工具:26.1.1节点:v8 .9.1 npm:5.8.0操作系统:Windows 10

以下是我的代码:

import { Component } from '@angular/core';
import { NavController } from 'ionic-angular';
// import { Platform } from 'ionic-angular';
import { Gyroscope, GyroscopeOrientation, GyroscopeOptions } from '@ionic-native/gyroscope';

@Component({
  selector: 'page-home',
  templateUrl: 'home.html'
})
export class HomePage {

  btnLabel_ReadSensors: string;

  constructor(public navCtrl: NavController,
    // private platform: Platform,
    private gyroscope: Gyroscope
  ) {
    this.btnLabel_ReadSensors = "Start";
    // platform.ready().then(() => {
    // });
  }

  ReadGyroscope() {
    this.gyroscope.getCurrent({ frequency: 500 }).then((orientation: GyroscopeOrientation) => {
      console.log(orientation.x, orientation.y, orientation.z, orientation.timestamp);
    }).catch((reason) => console.log("Rejected:", reason));
  }

}

在上面的代码中,ReadGyroscope()是UI上按钮的单击回调 . 在这个功能中,我试图读取当前的陀螺仪数据并将其记录在控制台上 .

每当我点击按钮时,我都会得到以下控制台输出 .

[23:36:28] console.warn:Native:尝试调用Gyroscope.getCurrent,但没有安装Gyroscope插件 . [23:36:28] console.warn:安装Gyroscope插件:'离子cordova插件添加cordova-plugin-gyroscope'[23:36:28] console.log:拒绝:plugin_not_installed

已完成以下操作:

  • 我已根据ionic documentation安装了该插件 .

  • 根据文档中的建议更新了app.module.ts .

  • 尝试使用check for platform.ready()读取HomePage构造函数中的数据 .

  • 使用watch方法定期读取数据 .

我的问题类似于issue,但由于它已经过时,没有建议解决方案并且工具版本已更改,我发布此问题 .

我也提到了here;但我认为这个问题是针对其他插件的 .

有人建议直接从git安装gyro插件(参见here) . 试过也没有成功 .

谢谢!