java有可能知道穿戴设备是否在手腕上吗? 1 周,3 日 Questions & Answers 96 我想知道是否有可能知道穿戴设备是否在手上。 我需要运行一个服务,只有当它在手上时,它才会记录脉搏,如果它没有,那么它应该停止服务,并在它在手上时再次启动
# 1 楼答案 你可以尝试使用心率传感器 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"); } }
# 1 楼答案
你可以尝试使用心率传感器
# 2 楼答案
某些设备(如microsoft band 2)有专门用于检测设备是否磨损的传感器。根据项目,您可以考虑开发该设备