2014-11-08 21 views
8

Próbuję uzyskać dostęp do monitora tętna zegarka Samsung Gear Live. Zegarek jest sparowany z telefonem 4.4.4 i działa poprawnie. Śledzę numer official BasicSensorsApi sample.Dlaczego mój sprzęt nie jest wymieniony jako DataSource w interfejsie API Google Fit?

mogę z powodzeniem podłączyć do usługi Google Play z następującym zakresie:

addScope(new Scope(Scopes.FITNESS_LOCATION_READ_WRITE)) 
      .addScope(new Scope(Scopes.FITNESS_ACTIVITY_READ_WRITE)) 
      .addScope(new Scope(Scopes.FITNESS_BODY_READ_WRITE)) 

Ale wtedy, kiedy chcę do listy wszystkich dostępnych monitorów pracy serca, otrzymuję pustą listę DataSource:

private void findFitnessDataSources() { 
    Fitness.SensorsApi.findDataSources(mGoogleApiClient, new DataSourcesRequest.Builder() 
      .setDataTypes(
        DataType.TYPE_HEART_RATE_BPM)// At least one datatype must be specified. 
      .setDataSourceTypes(
        DataSource.TYPE_RAW)// Specify whether data type is raw or derived. 
      .build()) 
      .setResultCallback(new ResultCallback<DataSourcesResult>() { 
       @Override 
       public void onResult(DataSourcesResult dataSourcesResult) { 
        for (DataSource dataSource : dataSourcesResult.getDataSources()) { 
         if (dataSource.getDataType().equals(DataType.TYPE_HEART_RATE_BPM) 
           && mListener == null) { 
          registerFitnessDataListener(dataSource, 
            DataType.TYPE_HEART_RATE_BPM); 
         } 
        } 
       } 
      }); 

Jeśli zmienię DataType na, na przykład, TYPE_STEP_COUNT_CUMULATIVE lub TYPE_LOCATION_SAMPLE, lista będzie zawierać mój telefon, co wydaje się logiczne.

Dlaczego zegarek nie jest wtedy dostępny jako dostępny DataSource?

Uwaga: To nie jest duplikat:

  1. Get Heart Rate from “Sensor” Samsung Gear Live
  2. How to access heart rate sensor in Android Wearable?

bo chcę otworzyć serce bić danych przez opublikowanym niedawno Google Fit API.

Nie sądzę, że włączenie trybu debugowania na zegarku jest konieczne, ale próbowałem tego. Ponadto, nie sądzę, aby konieczne było dodanie uprawnień, ponieważ cały proces jest zarządzany przez Google Fit API, ale próbowałem tego również bez powodzenia.

+0

Witam, proszę, czy możesz mi pomóc w rozwiązaniu tego problemu, mam też ten sam smartwatch, ale nie jest on widoczny z aplikacji: http://pl.stackoverflow.com/questions/31022431/android-how-to-get-google -fit-data-from-wearable-device – user3290180

+0

to nie działa, nawet jeśli wyszukuję wszystkie typy danych. Urządzenia są sparowane. – user3290180

+0

Witam, są czujniki oprogramowania, które mogą sprawić, że zadziała, zobacz linki na http://stackoverflow.com/a/31231411/1587329 (pytanie w komentarzach powyżej) –

Odpowiedz

4

Zegarek Samsung Gear Live nie jest reklamowany jako BLE heart rate monitor i dlatego nie udostępnia danych o tętnie za pośrednictwem normalnego Bluetooth Low Energy API lub zbudowanego na nim interfejsu Google Fit API.

+0

To naprawdę rozczarowuje. Właśnie zmarnowałem ponad 250 USD na tym urządzeniu. Dziękuję, Ian. – EyesClear

+1

Żaden z czujników tętna znaleziony w urządzeniach Android Wear (obecnie!) To prawdziwie ciągłe czujniki, takie jak te znalezione w tradycyjnych pasach na klatkę piersiową w monitorach pracy serca - to wciąż najlepszy wybór, jeśli szukasz dokładnego, zbliżonego do rzeczywistego czasu dane dotyczące tętna. – ianhanniballake

+0

@ianhanniballake: A może używać czujników oprogramowania? Czy to powinno działać? –