索尼 SmartEyeglass 读取加速度计
Sony SmartEyeglass read Accelerometer
我正在尝试获取 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) 而且我不知道数据数组中会有什么。
将此添加到构造函数可解决问题:
// 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();
}
我正在尝试获取 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) 而且我不知道数据数组中会有什么。
将此添加到构造函数可解决问题:
// 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();
}