当用户开始像步行或跑步这样的活动时,在广播接收器中获得回叫

时间:2017-02-08 07:38:20

标签: android google-fit

当用户开始使用Google Fit SDK开始行走或运行时,有没有办法捕获事件?

我正在运行连续的后台服务,以便在用户正在跑步或步行时跟踪,但是耗费电量。

Google Fit SDK文档提到了开始和结束会话回调,但我不了解如何为运行或步行事件注册回调。

1 个答案:

答案 0 :(得分:0)

试试这个

设置数据类型

DataReadRequest   readRequest = new DataReadRequest.Builder()
                    .aggregate(DataType.TYPE_ACTIVITY_SEGMENT,
                            DataType.AGGREGATE_ACTIVITY_SUMMARY)
                    .bucketByTime(1, TimeUnit.DAYS)
                    .setTimeRange(startTime, endTime, TimeUnit.MILLISECONDS)
                    .build();

获取行走和运行数据

if (dp.getValue(field1.get(0)).asActivity()
                        .equalsIgnoreCase("walking")) {
                    walkingTime = TimeUnit.MILLISECONDS.toSeconds(dp.getValue(
                            field1.get(1)).asInt());

                    Log.e("walking", walkingTime + "");
                }

 if (dp.getValue(field1.get(0)).asActivity()
                        .contains("running")) {
                    runningTime = TimeUnit.MILLISECONDS.toSeconds(dp
                            .getValue(field1.get(1)).asInt());

                    Log.e("running", runningTime + "");
                }