Монитор сердечного ритма на смарт-часах не запускается в методе onCreate

Я не думаю, что я полностью понимаю код, лежащий в основе мониторинга сердечного ритма. Я создал свой проект, и это код, который я использовал.

   protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);


        // Enables Always-on
        setAmbientEnabled();

        mMobvoiApiClient = new MobvoiApiClient.Builder(this)
                .addApi(Wearable.API)
                .addConnectionCallbacks(this)
                .addOnConnectionFailedListener(this)
                .build();

        mSensorManager =
                (SensorManager)getSystemService(SENSOR_SERVICE);
        mHeartRate = mSensorManager.getDefaultSensor(
                Sensor.TYPE_HEART_RATE);


    }

Я подключаюсь к клиенту здесь и получаю датчик по умолчанию здесь, объявляя его как TYPE_HEART_RATE.

protected void onResume() {
    super.onResume();
    mSensorManager.registerListener(this, mHeartRate,
            SensorManager.SENSOR_DELAY_NORMAL);
}

В методе onResume я регистрирую слушателя.

   public void onSensorChanged(SensorEvent sensorEvent) {

        Log.d("Test", "Got the heart rate (beats per minute) : " +
                String.valueOf(sensorEvent.values[0]));
    }

Таким образом, этот метод будет генерировать журнал каждый раз, когда изменяются данные датчика, верно? Поправьте меня пожалуйста, если я ошибаюсь.

Мой главный вопрос заключается в том, какой метод я должен назвать или какому слушателю я должен использовать слушателя, чтобы активировать датчик сердечного ритма на моих часах. Я явно упускаю что-то важное, но не могу понять, что. Для начала я просто хочу активировать пульсометр, чтобы начать получать с него данные.

Спасибо, что ответили.

РЕДАКТИРОВАТЬ: У меня уже было разрешение на использование в файле AndroidManifest.

<uses-permission android:name="android.permission.BODY_SENSORS" />

РЕДАКТИРОВАТЬ 2:

Я попытался добавить две кнопки: одну, чтобы зарегистрировать слушателя, и одну, чтобы отменить ее регистрацию. Когда я пытаюсь зарегистрировать его в startMeasure() метод, логическое значение всегда возвращает Sensor Status:: Sensor зарегистрирован: нет

 public void OnClickBtn(View v){
        startMeasure();
    }

    public void OnClickBtnStop (View v){
        stopMeasure();
    }


    private void startMeasure() {
        boolean sensorRegistered = mSensorManager.registerListener(this, mHeartRate, SensorManager.SENSOR_DELAY_FASTEST);
        Log.d("Sensor Status:", " Sensor registered: " + (sensorRegistered ? "yes" : "no"));
    }

    private void stopMeasure() {
        mSensorManager.unregisterListener(this);
    }

Это связано с моим макетом, как это

    <Button
        android:id="@+id/utrip"
        android:layout_width="wrap_content"
        android:layout_height="30dp"
        android:layout_marginLeft="20dp"
        android:layout_marginTop="60dp"
        android:background="@color/blue"
        android:onClick="OnClickBtn"
        android:text="@string/start" />

    <Button
        android:id="@+id/button2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginLeft="20dp"
        android:layout_marginTop="100dp"
        android:background="@color/dark_red"
        android:text="@string/stop"
        android:onClick="OnClickBtnStop"/>

Я также получаю это от logcat.

sphal namespace is not configured for this process.

Я думаю, что это связано с API. Это происходит, когда я нажимаю кнопку Стоп.

0 ответов

Другие вопросы по тегам