0

我正在尝试获取 SmartEyeglass 的加速度计值的浮点数组。我想在我的 ControlExtension 中有一个浮点数组,如果加速度计发生变化,它会自动更新。

官方文档并没有太多帮助。我需要做什么?

到目前为止,我意识到我需要包含这个属性:

eprivate final AccessorySensorEventListener listener =
        new AccessorySensorEventListener() {
    // Respond to change by updating the screen to
    // display the current sensor data
    @Override
    public void onSensorEvent(final AccessorySensorEvent sensorEvent) {
        Log.d(Constants.LOG_TAG, "Listener: OnSensorEvent");
        float[] data = sensorEvent.getSensorValues();
        doStuff(data);
    }
};

但这不会 doStuff(data) 并且我不知道数据数组内部会是什么。

4

1 回答 1

1

将此添加到构造函数可以解决问题:

// Create a sensor manager object
AccessorySensorManager manager =
        new AccessorySensorManager(context, hostAppPackageName);

AccessorySensor acc = manager.getSensor(Registration.SensorTypeValue.ACCELEROMETER);
try {
    acc.registerFixedRateListener(listener, Sensor.SensorRates.SENSOR_DELAY_FASTEST);
} catch (AccessorySensorException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
}
于 2015-08-18T12:05:57.923 回答