【问题标题】:Activity stops receiving Gyroscope sensor values after a period of timeActivity 在一段时间后停止接收陀螺仪传感器值
【发布时间】:2017-08-03 17:08:47
【问题描述】:

还没有找到答案。 我正在开发一个应用程序,我必须在两个单独的活动中实时绘制加速度计和陀螺仪值。加速度计工作得很好,但是在随机时间段(大约从 1 到 10 秒)之后的陀螺仪活动中,值停止出现,因此绘图也停止。 这是 sensorChanged 代码。

public SensorEventListener gyroListener = new SensorEventListener() {
    public void onAccuracyChanged(Sensor sensor, int acc) { }

    public void onSensorChanged(SensorEvent event) {
        float x = event.values[0];
        float y = event.values[1];
        float z = event.values[2];
        seriesx.appendData(new DataPoint(Lastx++,x),true,50);
        seriesy.appendData(new DataPoint(Lastx++,y),true,50);
        }
};

编辑:注册和取消注册传感器:

 public void onResume() {
    super.onResume();
    sensorManager.registerListener(gyroListener, sensor,
            SensorManager.SENSOR_DELAY_NORMAL);
}

public void onStop() {
    super.onStop();
    sensorManager.unregisterListener(gyroListener);
}

【问题讨论】:

  • 你能发布你在哪里注册和注销你的传感器监听器吗,以上信息不足以预测问题。
  • 编辑了答案。
  • 你是否为陀螺仪设置了传感器管理器,例如 sensor = sensorManager.getDefaultSensor(Sensor.TYPE_GYROSCOPE);并且在 sensorchanged 方法上也像这样检查 if (event.sensor.getType() == Sensor.TYPE_GYROSCOPE) {} 它有助于整理你的 pblm。
  • 是的,我有,但问题仍然存在。

标签: android android-sensors


【解决方案1】:

问题出在我运行应用程序的智能手表中的陀螺仪传感器:Moto 360。 然后我在华为手表上测试了这个应用程序,它运行得非常好。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多