Android 为什么我的可穿戴设备在Google Fit API中没有列为数据源?

Android 为什么我的可穿戴设备在Google Fit API中没有列为数据源?,android,wear-os,heartbeat,google-fit,Android,Wear Os,Heartbeat,Google Fit,我正在尝试访问三星Gear Live手表的心率监视器。手表与4.4.4手机配对,工作正常。我在跟踪调查 我可以通过以下范围成功连接到Google Play服务: addScope(new Scope(Scopes.FITNESS_LOCATION_READ_WRITE)) .addScope(new Scope(Scopes.FITNESS_ACTIVITY_READ_WRITE)) .addScope(new Scope(Scopes.FITNE

我正在尝试访问三星Gear Live手表的心率监视器。手表与4.4.4手机配对,工作正常。我在跟踪调查

我可以通过以下范围成功连接到Google Play服务:

addScope(new Scope(Scopes.FITNESS_LOCATION_READ_WRITE))
            .addScope(new Scope(Scopes.FITNESS_ACTIVITY_READ_WRITE))
            .addScope(new Scope(Scopes.FITNESS_BODY_READ_WRITE))
但是,当我想列出所有可用的心率监视器时,我会收到一个空的
数据源列表

private void findFitnessDataSources() {
    Fitness.SensorsApi.findDataSources(mGoogleApiClient, new DataSourcesRequest.Builder()
            .setDataTypes(
                    DataType.TYPE_HEART_RATE_BPM)// At least one datatype must be specified.
            .setDataSourceTypes(
                    DataSource.TYPE_RAW)// Specify whether data type is raw or derived.
            .build())
            .setResultCallback(new ResultCallback<DataSourcesResult>() {
                @Override
                public void onResult(DataSourcesResult dataSourcesResult) {
                    for (DataSource dataSource : dataSourcesResult.getDataSources()) {
                        if (dataSource.getDataType().equals(DataType.TYPE_HEART_RATE_BPM)
                                && mListener == null) {
                            registerFitnessDataListener(dataSource,
                                    DataType.TYPE_HEART_RATE_BPM);
                        }
                    }
                }
            });
private void findFitnessDataSources(){
Fitness.SensorsApi.findDataSources(mGoogleApiClient,newdatasourcerequest.Builder())
.setDataTypes(
DataType.TYPE\u HEART\u RATE\u BPM)//必须至少指定一个数据类型。
.setDataSourceTypes(
DataSource.TYPE_RAW)//指定数据类型是原始的还是派生的。
.build())
.setResultCallback(新的ResultCallback(){
@凌驾
public void onResult(DataSourcesResult DataSourcesResult){
对于(DataSource DataSource:dataSourcesResult.getDataSources()){
如果(dataSource.getDataType().equals)(DataType.TYPE\u心率\u BPM)
&&mListener==null){
registerFitnessDataListener(数据源,
数据类型。类型\u心率\u BPM);
}
}
}
});
如果我将
数据类型
更改为,例如
类型(步骤)计数(累计)
类型(位置)样本(示例)
,列表将包含我的手机,这似乎是合乎逻辑的

为什么手表没有列为可用的
数据源

请注意: 这不是以下内容的副本:

  • 因为我想通过最近发布的Google Fit API访问心跳数据


    我不认为在手表上启用调试模式是必要的,但我已经尝试过了。此外,我也不认为添加
    BODY\u SENSORS
    权限是必要的,因为整个过程都是由Google Fit API管理的,但我也尝试过,但没有成功。

    三星Gear Live watch没有宣传自己是一款智能手表,因此确实如此没有通过普通或基于它的Google Fit API提供心率数据。

    这真是令人失望。我在这台设备上浪费了250多美元。谢谢你,伊恩。Android Wear设备中没有心率传感器(今天!)是真正连续的传感器,如传统的心率监视器胸带上的传感器-如果你专门寻找准确、接近实时的心率数据,这些仍然是最好的选择。@ianhanniballake:使用软件传感器怎么样?这些能起作用吗?@user1587329-你的意思是编写使用三星Gea的应用程序吗r Live SDK将信息拉到手机上,然后在Google Fit注册为软件传感器,这样您就可以将数据提供给Google Fit?当然,假设Gear SDK为您提供了这样的数据,我不明白为什么这不起作用。除了使用标准的安卓.sensors和
    android.support.wearable.view.WatchVie之外wStub
    API。查看手表上的想法和关于手表的想法,您好,请帮我解决这个问题,我也有相同的smartwatch,但从应用程序中看不到它,即使我搜索所有数据类型,它也无法工作。设备是成对的。您好,有软件传感器可以让它工作,请参阅(以上评论中的问题)