Извлечь значения полей из DataType

Я добавляю прослушиватель PendingIntent к датчику, который считывает образцы текущей активности, используя код:

Fitness.SensorsApi.add(
            googleApiClient,
            new SensorRequest.Builder()
                    .setDataType(DataType.TYPE_ACTIVITY_SAMPLE)
                    .setSamplingRate(1, TimeUnit.MINUTES)
                    .build(), pendingIntent);

В моем намеренииService я могу извлечь DataPoint из намерения, используя [DataPoint.extract(intent)](https://developers.google.com/android/reference/com/google/android/gms/fitness/SensorsApi.html#add(com.google.android.gms.common.api.GoogleApiClient, com.google.android.gms.fitness.request.SensorRequest, android.app.PendingIntent)). Из dataPoint я получаю DataType, используя getDataType(), но затем я застрял в чтении значений (в данном случае это активность и уверенность из com.google.activity.sample) из типа данных.

Спасибо!


person KuroObi    schedule 28.12.2015    source источник


Ответы (1)


Я управляю этим, вызывая getValue() DataPoint, передающего Поле (в данном случае Field.FIELD_ACTIVITY и Field.FIELD_CONFIDENCE). Затем мне нужно преобразовать Value .

dataPoint.getValue(Field.FIELD_CONFIDENCE).asFloat() dataResult.getValue(Field.FIELD_ACTIVITY).asActivity()

person KuroObi    schedule 29.12.2015