微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何使用 Kotlin 从 Google fit 中读取运动分钟

如何解决如何使用 Kotlin 从 Google fit 中读取运动分钟

我的测试数据包含一项持续时间为 60 分钟的锻炼。 此代码返回 60 个数据点,每个数据点 1 分钟。 我怎样才能让它只返回一个持续时间 = 60 的数据点? 被注释掉的 bucketBy 代码是尝试导致没有数据返回。

    val cal = Calendar.getInstance()
    cal.time = Date()
    val endTime = cal.timeInMillis
    cal.add(Calendar.YEAR,-1)
    val startTime = cal.timeInMillis

    val fitnessOptions = fitnessOptions.builder()
        .addDataType(
            DataType.AGGREGATE_MOVE_MINUTES,fitnessOptions.ACCESS_READ
        )
        .build()

    val account = GoogleSignIn
        .getAccountForExtension(activity,fitnessOptions)

    val response =
        fitness.getHistoryClient(activity,account)
            .readData(
                DataReadRequest.Builder()
                    .read(DataType.AGGREGATE_MOVE_MINUTES)
                    .setTimeRange(startTime,endTime,TimeUnit.MILLISECONDS)
//                        .bucketBySession(1,TimeUnit.DAYS) //no data returned
//                        .bucketByTime(1000,TimeUnit.DAYS) //no data returned
                    .build()
            )

    val result = withContext(dispatchers.IO) { Tasks.await(response) }

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。