如何阅读Android Wear的心率
我需要在当时读取用户的心率。 我尝试使用位于Wear项目主要活动中的代码。
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"); } }
这段代码根本不起作用,给我一个错误说:
E/SensorManager﹕ sensor or listener is null
如果我使用心率传感器以外的其他设备,它工作正常。
我在用:
感谢您的帮助。
你在这个问题上看到了同样的问题。 我们有相同的磨损设备,所以我几乎可以肯定,你穿戴AndroidManifest.xml时错过了这个:
<uses-permission android:name="android.permission.BODY_SENSORS" />
另外,您应该转到设置中的权限以检查是否启用了该权限。
您可以在GitHub上查看我的项目,该项目目前正在开展工作。
实际上,您正在实现SensorEventListener接口并创建SensorEventListener的一个实例,而无需初始化它。
初始化传感器:
SensorEventListener sensorEventListener = new SensorEventListener(){ ... };
或删除它并使用“this”:
mSensorManager.registerListener(sensorEventListener, mHeartRateSensor, mSensorManager.SENSOR_DELAY_FASTEST);
将其更改为:
mSensorManager.registerListener(this, mHeartRateSensor, mSensorManager.SENSOR_DELAY_FASTEST);
不要忘记,从SDK 23开始,您必须分别在磨损设备和手机上请求权限。 Wear应用程序不再继承手机应用程序的权限。
https://developer.android.com/training/articles/wear-permissions.html
链接地址: http://www.djcxy.com/p/5497.html