Как прослушать несколько типов точек данных Google Fit - PullRequest
0 голосов
/ 09 февраля 2020

Как правильно отслеживать несколько типов (например, шаги и расстояние), используя Fitness Sensors Api, предоставленный Google Fit? Я пытался создать несколько слушателей, и это не сработало. Тот же результат при использовании одного слушателя и когда / switch в зависимости от типа данных. Однако при таком подходе один тип данных регулярно обновлялся, а другой - со случайной задержкой. (Я думаю, что это может быть что-то с потоками).

Fitness.getSensorsClient(this, GoogleSignIn.getLastSignedInAccount(this)!!)
            .findDataSources(
                DataSourcesRequest.Builder()
                     .setDataTypes(DataType.TYPE_DISTANCE_DELTA,DataType.TYPE_STEP_COUNT_DELTA)
                     .build()
            )

listener = OnDataPointListener { dataPoint ->

                when (dataPoint.dataType) {
                    DataType.TYPE_STEP_COUNT_DELTA -> 
                    DataType.TYPE_DISTANCE_DELTA -> 

...