如何访问Galaxy S5心率传感器?

时间:2014-09-07 17:31:26

标签: java android heartbeat samsung-mobile-sdk

Samsung's programming guide(第77-81页)中,有关如何使用S Health Service SDK设置和获取心率信息的参考。但是,我希望直接访问Galaxy S5的心率传感器,就像您可以访问加速度计,陀螺仪,光传感器以及其他传感器一样。 我找到this example for the samsung gear live,但我找不到Galaxy S5的任何示例。

是否可以直接访问Galaxy S5的心率传感器?有没有人有关于如何做的代码示例?

谢谢。

5 个答案:

答案 0 :(得分:1)

使用SensorManager.getDefaultSensor(65562)直接访问HRM传感器。

答案 1 :(得分:1)

要访问并启用红外灯,请执行以下操作:

  1. 用于清单

    使用权限android:name =“ android.permission.BODY_SENSORS” />

  2. 在活动上实现SensorEventListener

  3. 要启用红色红外灯,请使用代码:

     public void enableHeartRate(){
    
        SensorManager mSensorManager = ((SensorManager)getSystemService(SENSOR_SERVICE));
        Sensor mHeartRateSensor = mSensorManager.getDefaultSensor(Sensor.TYPE_HEART_RATE);
    
        mSensorManager.registerListener(this,mHeartRateSensor, SensorManager.SENSOR_DELAY_NORMAL);
    }
    
    @Override
    public void onSensorChanged(SensorEvent event) {
    
        if (event.sensor.getType() == Sensor.TYPE_HEART_RATE) {
            String msg = "" + (int)event.values[0];
    
            Log.d(TAG, msg);
        }else{
            Log.d(TAG, "Unknown sensor type");
        }
    }
    
    @Override
    public void onAccuracyChanged(Sensor sensor, int i) {
    
    } 
    
  4. 检查日志以获取结果 ;)

答案 2 :(得分:0)

三星发布了名为SensorExtension的SDK。您必须申请,他们会向您发送一封包含zip文件的电子邮件。

http://developer.samsung.com/galaxy#sensor-extension

答案 3 :(得分:0)

SensorManager.getDefaultSensor(Sensor.TYPE_HEART_RATE)

效果很好。

<强>但是

  

此传感器需要权限android.permission.BODY_SENSORS。它   SensorManager.getSensorsList也不会返回   SensorManager.getDefaultSensor如果应用程序没有这个   权限。

(来自文档)

因此,如果您的读者尝试 getDefaultSensor 而没有成功,则可能是错误。

答案 4 :(得分:0)

您无法从Samsung Galaxy S5获取原始心率监测数据。

传感器扩展SDK需要从Google Android和this page不支持的传感器获取原始数据:

Sensor Extension SDK具有以下限制:

  • HRM传感器IR / RED信号
    • 需要使用Android 5.0(Lollipop API级别21)或更高版本的设备。
    • Galaxy S5 和Galaxy S5mini 排除
    • 仅支持带有HRM传感器的三星设备。