gpt4 book ai didi

android - 如何访问 Android 心率传感器原始数据? (反射光,不是心跳)

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:26:41 26 4
gpt4 key购买 nike

心率传感器上的 android sdk 仅返回我不感兴趣的计算 bpm。

我需要访问 android 心率传感器原始数据,例如就反射值的强度而言会很大。 (因为基本上心率传感器使用 LED 并随时间测量反射率)

如果可能,访问由更大的图像传感器收集的原始图像。谢谢。

相关问题: Read underlying color/light data from Android Wear heart rate sensor?

最佳答案

如果可以选择 Google Fit,您可以使用 Google Fit 的传感器 API 获取原始心跳数据。参见 Google Fit Guide for details .

private void trackHeartRate() {
SensorsApi.findDataSources(mClient, new DataSourcesRequest.Builder()
.setDataTypes(DataType.TYPE_HEART_RATE_BPM)
// Can specify whether data type is raw or derived.
.setDataSourceTypes(DataSource.TYPE_RAW)
.build())
.setResultCallback(new ResultCallback<DataSourcesResult>() {
@Override
public void onResult(DataSourcesResult dataSourcesResult) {
Log.i(TAG, "Result: " + dataSourcesResult.getStatus().toString());
for (DataSource dataSource : dataSourcesResult.getDataSources()) {
Log.i(TAG, "Data source found: " + dataSource.toString());
Log.i(TAG, "Data Source type: " + dataSource.getDataType().getName());

if (dataSource.getDataType().equals(DataType.TYPE_HEART_RATE_BPM)
&& mListener == null) {
Log.i(TAG, "Data source for heart rate found! Registering.");
registerFitnessDataListener(dataSource,
DataType.TYPE_HEART_RATE_BPM);
}
}
}
});
mListener = new OnDataPointListener() {
@Override
public void onDataPoint(DataPoint dataPoint) {
for (Field field : dataPoint.getDataType().getFields()) {
Value val = dataPoint.getValue(field);
Log.i(TAG, "Detected DataPoint field: " + field.getName());
Log.i(TAG, "Detected DataPoint value: " + val);
}
}
};
}

private void registerFitnessDataListener(DataSource dataSource, DataType dataType) {
Fitness.SensorsApi.add(
mClient,
new SensorRequest.Builder()
.setDataSource(dataSource) // Optional but recommended for custom data sets.
.setDataType(dataType) // Can't be omitted.
.setSamplingRate(10, TimeUnit.SECONDS)
.build(),
mListener)
.setResultCallback(new ResultCallback<Status>() {
@Override
public void onResult(Status status) {
if (status.isSuccess()) {
Log.i(TAG, "Listener registered!");
} else {
Log.i(TAG, "Listener not registered.");
}
}
});
}

希望这对您有所帮助。

关于android - 如何访问 Android 心率传感器原始数据? (反射光,不是心跳),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37534659/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com