WEAR OS HealthServices仅在请求支持功能时返回Heartrate

问题描述 投票:0回答:1
为了实现这一目标,我尝试使用

HealthServices。我遵循了Android Developers网站的therthis向导。我在我的ACTIVITY_RECOGNITION

文件中添加了所需的

AndroidManifest

权限,并在我的Java代码中要求它。
问题是,当我尝试获取支持功能的列表(数据类型)时,我得到的集合仅包含一个DataType,心率。我在佩戴OS仿真器(API 34)和物理磨损设备(Galaxy Watch 5 Pro)上测试了测试。在模拟器进行测试时,我更新到了最新版本的Android Studio,该工作室具有佩戴OS设备的Wear Health Services选项。我启用了所有可用功能,但仍然没有任何更改。
可能导致问题?这甚至是最后一天获得步骤数的正确方法吗?
    public void setupMeasureClient() {
        measureClient = HealthServices.getClient(context).getMeasureClient();
    }

public void loadSupportedDataTypes() { if (measureClient == null) return; if (!permissionHandler.hasPermission(ACTIVITY_RECOGNITION_PERMISSION)) return; try { ListenableFuture<MeasureCapabilities> future = measureClient.getCapabilitiesAsync(); future.addListener(() -> { try { MeasureCapabilities measureCapabilities = future.get(); Set<DeltaDataType<?, ?>> dataTypes = measureCapabilities.getSupportedDataTypesMeasure(); System.out.println("[HealthServices] Available data types:"); for (final DeltaDataType<?, ?> dataType: dataTypes) { System.out.println("[HealthServices] Data type: " + dataType.getName()); } setDataTypes(dataTypes); } catch (Exception e) { System.err.println("[HealthServices] Error occurred while resolving future: " + e.getMessage()); } }, Executors.newSingleThreadExecutor()); } catch (Exception e) { System.out.println("[HealthServices] Couldn't get list of capabilities: " + e.getMessage()); } }

	

MeasureClient

用于需要简短访问传感器的用例。一个常见的情况可能是向用户显示其心率。
PassiveMonitoringClient
java android wear-os
1个回答
0
投票
也可能会有所帮助,该样本展示了跟踪每日步骤。


最新问题
© www.soinside.com 2019 - 2025. All rights reserved.