如何在可穿戴设备 (Galaxy Active 2) 的 Tizen 本机应用程序中读取当前传感器值
How to read current sensor values in Tizen native app for wearable (Galaxy Active 2)
我使用本机应用程序 Tizen Studio 为 Samsung Galaxy Active 2 构建了一个简单的表盘。
我在脸上添加了一些 "health" 信息:计步器和心率监测器。
问:我知道如何设置侦听器和回调,以便在心率(或步数)发生变化 时收到通知,但我找不到如何读取当前/上次读取的 HRM 值。我知道这一定是可能的,因为其他表盘也是这样做的……只是不知道怎么做。
listener/callback 方法的代码:
sensor_get_default_sensor(SENSOR_HRM, &sensor);
ret = sensor_create_listener(sensor, &hrmSensorListener);
if( ret != SENSOR_ERROR_NONE)
dlog_print(DLOG_ERROR, LOG_TAG, "failed to get hrm sensor. err = %d", ret);
ret = sensor_listener_set_event_cb(hrmSensorListener, 20000, hrm_sensor_callback, face);
if( ret != SENSOR_ERROR_NONE)
dlog_print(DLOG_ERROR, LOG_TAG, "failed to set hrm sensor listener. err = %d", ret);
sensor_listener_set_option(hrmSensorListener, SENSOR_OPTION_DEFAULT);
sensor_listener_start(hrmSensorListener);
这意味着当表盘启动时,有一段时间 HRM 或步数没有更新,这有点烦人。
如何读取传感器的当前值?
请尝试使用sensor_listener_read_data方法。根据 Tizen 网站上发布的 documentation this method gets sensor data. You may follow tutorial。
sensor_get_default_sensor(SENSOR_HRM, &sensor);
ret = sensor_create_listener(sensor, &hrmSensorListener);
if( ret != SENSOR_ERROR_NONE)
dlog_print(DLOG_ERROR, LOG_TAG, "failed to get hrm sensor. err = %d", ret);
ret = sensor_listener_set_event_cb(hrmSensorListener, 20000, hrm_sensor_callback, face);
if( ret != SENSOR_ERROR_NONE)
dlog_print(DLOG_ERROR, LOG_TAG, "failed to set hrm sensor listener. err = %d", ret);
sensor_listener_set_option(hrmSensorListener, SENSOR_OPTION_DEFAULT);
sensor_listener_start(hrmSensorListener);
sensor_event_s event;
sensor_listener_read_data(hrmSensorListener, &event);
我认为上面的代码应该能帮到你
我使用本机应用程序 Tizen Studio 为 Samsung Galaxy Active 2 构建了一个简单的表盘。 我在脸上添加了一些 "health" 信息:计步器和心率监测器。
问:我知道如何设置侦听器和回调,以便在心率(或步数)发生变化 时收到通知,但我找不到如何读取当前/上次读取的 HRM 值。我知道这一定是可能的,因为其他表盘也是这样做的……只是不知道怎么做。
listener/callback 方法的代码:
sensor_get_default_sensor(SENSOR_HRM, &sensor);
ret = sensor_create_listener(sensor, &hrmSensorListener);
if( ret != SENSOR_ERROR_NONE)
dlog_print(DLOG_ERROR, LOG_TAG, "failed to get hrm sensor. err = %d", ret);
ret = sensor_listener_set_event_cb(hrmSensorListener, 20000, hrm_sensor_callback, face);
if( ret != SENSOR_ERROR_NONE)
dlog_print(DLOG_ERROR, LOG_TAG, "failed to set hrm sensor listener. err = %d", ret);
sensor_listener_set_option(hrmSensorListener, SENSOR_OPTION_DEFAULT);
sensor_listener_start(hrmSensorListener);
这意味着当表盘启动时,有一段时间 HRM 或步数没有更新,这有点烦人。
如何读取传感器的当前值?
请尝试使用sensor_listener_read_data方法。根据 Tizen 网站上发布的 documentation this method gets sensor data. You may follow tutorial。
sensor_get_default_sensor(SENSOR_HRM, &sensor);
ret = sensor_create_listener(sensor, &hrmSensorListener);
if( ret != SENSOR_ERROR_NONE)
dlog_print(DLOG_ERROR, LOG_TAG, "failed to get hrm sensor. err = %d", ret);
ret = sensor_listener_set_event_cb(hrmSensorListener, 20000, hrm_sensor_callback, face);
if( ret != SENSOR_ERROR_NONE)
dlog_print(DLOG_ERROR, LOG_TAG, "failed to set hrm sensor listener. err = %d", ret);
sensor_listener_set_option(hrmSensorListener, SENSOR_OPTION_DEFAULT);
sensor_listener_start(hrmSensorListener);
sensor_event_s event;
sensor_listener_read_data(hrmSensorListener, &event);
我认为上面的代码应该能帮到你