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

问题描述 投票:2回答:5

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

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

谢谢。

java android heartbeat samsung-mobile-sdk
5个回答
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传感器的三星设备。

1
投票

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


1
投票

要访问和启用红外灯:

  1. 在Manifest使用 使用权限android:name =“android.permission.BODY_SENSORS”/>
  2. 在Activity上实现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. 检查日志结果;)

0
投票

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

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


0
投票
SensorManager.getDefaultSensor(Sensor.TYPE_HEART_RATE)

效果很好。

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

(来自文档)

因此,如果您的读者尝试了getDefaultSensor但没有成功,这很可能就是错误。

© www.soinside.com 2019 - 2024. All rights reserved.