Java 是否有可能知道佩戴装置是否在手腕上?
我想知道是否有可能知道穿戴设备是否在手上。Java 是否有可能知道佩戴装置是否在手腕上?,java,android,wear-os,Java,Android,Wear Os,我想知道是否有可能知道穿戴设备是否在手上。 我需要运行一个服务,它只在手头有脉搏时才测量脉搏,如果没有,那么它应该停止服务,并在手头有脉搏时再次启动。您可以尝试使用心率传感器 public class MainActivity extends WearableActivity implements SensorEventListener { private static final String TAG = "MainActivity"; private TextView mT
我需要运行一个服务,它只在手头有脉搏时才测量脉搏,如果没有,那么它应该停止服务,并在手头有脉搏时再次启动。您可以尝试使用心率传感器
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");
}
}
某些设备(如microsoft band 2)有专门用于检测设备是否磨损的传感器。根据项目,你可以考虑开发那个设备什么……因为我不知道如何开始/停止基于腕力检测的服务:(…我只有一个为Every运行的服务我想你需要一个传感器我知道,但我不知道什么类型的传感器?那么搜索传感器你不能基于一个直接的Android传感器而不提供连续服务(这需要保持一个侦听器),但您可以每X分钟唤醒一次设备,因为它没有那么低效。