在Google Play Services 7.0中删除了Fitness.API?
升级到Google Play Services 7.0后,我用于连接Google Fit的GoogleApiClient
代码不再有效:它说:
错误:(87,21)错误:没有为addApi(Void)方法找到合适的方法Builder.addApi(Api,O)不适用(无法从参数实例化,因为实际和forms参数列表的长度不同)方法Builder.addApi( Api)不适用(实际参数Void不能通过方法调用转换转换为Api)其中O是类型变量:O扩展方法addApi(Api,O)中声明的HasOptions
我构建GoogleApiClient
代码是:
mGoogleApiClient = new GoogleApiClient.Builder(this) .addApi(Fitness.API) .addScope(new Scope(Scopes.FITNESS_ACTIVITY_READ_WRITE)) .addConnectionCallbacks(this) .addOnConnectionFailedListener(this) .build();
根据Google Play服务7.0博客文章 :
您之前传入
GoogleApiClient
现已被大量API替换,与高级Google Fit Android API相匹配:
- SENSORS_API通过SensorsApi访问原始传感器数据
- RECORDING_API通过RecordingApi记录数据
- HISTORY_API用于通过HistoryApi插入,删除或读取数据
- SESSIONS_API用于通过SessionsApi管理会话
- BLE_API通过BleApi与蓝牙低功耗设备进行交互
- CONFIG_API通过ConfigApi访问Google Fit的自定义数据类型和设置
因此,您应该更新GoogleApiClient
以添加您使用的所有相应API。 例如,如果同时使用SensorsApi
和RecordingApi
,则代码应如下所示:
mGoogleApiClient = new GoogleApiClient.Builder(this) .addApi(Fitness.SENSORS_API) .addApi(Fitness.REPORTING_API) .addScope(new Scope(Scopes.FITNESS_ACTIVITY_READ_WRITE)) .addConnectionCallbacks(this) .addOnConnectionFailedListener(this) .build();
注意:针对旧版Google Play服务编译的应用程序将继续有效,但不会获得Google Play服务7.0中拆分API附带的内存优势,如同一篇博文中所述:
此更改会显着降低在后台运行的Google Fit启用的应用程序的内存要求。 与往常一样,基于以前版本的Google Play服务构建的应用程序将继续有效,但我们强烈建议您重建启用Google Fit的应用程序以利用此更改。
- ActivityCompat.requestPermissions不显示提示
- 如何在Java中动态提取.gz文件?
- 如何在RecyclerView项中的populateViewHolder中设置addSnapshotListener并删除?
- 修改传递给方法的对象的最佳做法是什么?
- 将Android应用程序连接到Google Cloud Endpoints时出错:无法找到课程
- 在Android Studio 2.1.3中构建错误
- 如何导入适用于Java和Google表格API版本3.0的Drive API客户端库
- 为什么我在java中使用谷歌地图api获得不完整的答案?
- 分析/优化Google App引擎应用程序的最佳方式是什么?