如何阅读Android Wear的心率 [英] How to read Heart rate from Android Wear
问题描述
我需要在那一刻读取用户的心率。我尝试在Wear项目的主要活动中使用此代码。
I need to read the heart rate of the user at that instant. I tried using this code located in my main activity in the Wear project.
public class MainActivity extends WearableActivity implements SensorEventListener {
private static final String TAG = "MainActivity";
private TextView mTextViewHeart;
SensorManager mSensorManager;
Sensor mHeartRateSensor;
SensorEventListener sensorEventListener;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mTextViewHeart = (TextView) findViewById(R.id.heart);
mSensorManager = ((SensorManager) getSystemService(SENSOR_SERVICE));
mHeartRateSensor = mSensorManager.getDefaultSensor(Sensor.TYPE_HEART_RATE);
mSensorManager.registerListener(this, mHeartRateSensor, SensorManager.SENSOR_DELAY_NORMAL);
Log.i(TAG, "LISTENER REGISTERED.");
mTextViewHeart.setText("Something here");
mSensorManager.registerListener(sensorEventListener, mHeartRateSensor, mSensorManager.SENSOR_DELAY_FASTEST);
}
public void onResume(){
super.onResume();
}
public void onAccuracyChanged(Sensor sensor, int accuracy) {
Log.d(TAG, "onAccuracyChanged - accuracy: " + accuracy);
}
public void onSensorChanged(SensorEvent event) {
if (event.sensor.getType() == Sensor.TYPE_HEART_RATE) {
String msg = "" + (int)event.values[0];
mTextViewHeart.setText(msg);
Log.d(TAG, msg);
}
else
Log.d(TAG, "Unknown sensor type");
}
}
这段代码根本无效,给我一个错误说:
This code is simply not working, giving me an error saying:
E/SensorManager﹕ sensor or listener is null
如果我使用除心率传感器以外的任何其他物品,它可以正常工作。
It works fine if I use anything else but the heart rate sensor.
我正在使用:
- LG G4与Android API等级23
- LG Urbane手表(我知道它有一个心率传感器),带Wear API等级23
感谢您的帮助。
推荐答案
我遇到了同样的问题,你可以在这个问题中看到。我们有相同的磨损装置,所以我几乎可以肯定你错过了穿着AndroidManifest.xml的 :
I faced the same problem as you can see in this question. We have the same wear devices, so I'm almost sure that you have missed this on your wear AndroidManifest.xml:
<uses-permission android:name="android.permission.BODY_SENSORS" />
此外,您应该转到设置中的权限,以检查是否已启用该权限。
Also, your should go to Permissions in Settings in order to check if that permission is enabled.
您可以在 GitHub 上查看我的项目,现在正在工作。
You can check my project on GitHub, which is working for now.
这篇关于如何阅读Android Wear的心率的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!