Articles of 谷歌配合

在GoogleFit中添加/读取重量和高度? Android的

通过Google,我得到了此代码以插入DataType.TYPE_STEP_COUNT_DELTA 。 但是如何使用Android插入TYPE_HEIGHT AND TYPE_WEIGHT com.google.android.gms.common.api.Status insertStatus = Fitness.HistoryApi.insertData(mClient, dataSet) .await(1, TimeUnit.MINUTES);

使用Google Fit api时,Google Oauth 2.0 RESULT_CANCELED

我想在我的Android应用程序中使用google fit api。 我按照本指南使用我的jdk 1.8 bin文件夹中的keytool.exe创建了SHA-1证书。 我现在已经创建了Oauth客户端ID 。 在我的应用中,我在这里得到RESULT_CANCELED: @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); if( requestCode == REQUEST_OAUTH ) { authInProgress = false; if( resultCode == RESULT_OK ) { if( !mClient.isConnecting() && !mClient.isConnected() ) { mClient.connect(); } } else if( resultCode == RESULT_CANCELED ) {/// HERE Toast.makeText(MainActivity.this,”RESULT_CANCELED”,Toast.LENGTH_SHORT).show(); […]

触发心率检查的语音命令列表

使用vnd.google.fitness.VIEW操作和vnd.google.fitness.data_type/com.google.heart_rate.bpm mimetypes创建目标的所有现有语音命令的列表是什么? 文档仅显示其中两个: “好吧谷歌,我的心率是多少?” “好的Google,我的bpm是什么?” 但我发现了更多,例如: “好吧谷歌,检查我的脉搏。”

在Android应用程序的后台处理GoogleFit

我正在尝试将我的应用程序连接到Google Fit。 我正在使用需要执行以下操作的IntentService。 当我有关于步骤的信息时开始。 此时我正在尝试通过调用以下代码来创建GoogleApiClient: mClient = new GoogleApiClient.Builder(this) .addApi(Fitness.HISTORY_API) .addScope(new Scope(Scopes.FITNESS_ACTIVITY_READ_WRITE)) .addScope(new Scope(Scopes.FITNESS_LOCATION_READ_WRITE)) .addConnectionCallbacks( new GoogleApiClient.ConnectionCallbacks() { @Override public void onConnected(Bundle bundle) { log.info(“FITNESS_API: Connected!!!”); Thread thread = new Thread(new Runnable() { @Override public void run() { insertOrUpdateDataPoints(); } }); thread.start(); } @Override public void onConnectionSuspended(int i) { // If your connection to the […]

获取用户在后台发送到服务器的每日步数的最佳方法

我想每24小时向我的服务器发送一下我走了几步。 我有一个AlarmManager来关闭alarmManager.setRepeating(AlarmManager.RTC_WAKEUP,System.currentTimeMillis(),1000*60*60*24, pendingIntent1) 现在这就是我被困的地方……我应该如何衡量每日步骤?(记住我需要在后台发送这个)我可以使用这个可以覆盖此函数的服务public void onSensorChanged(SensorEvent event) this doesn’因为我的服务可能被破坏(电池会很快耗尽),所以看起来很准确。 要么 我可以尝试使用Google健身,但每次我尝试获取数据时都需要用户连接mGoogleApiClient.connect() (我需要在后台获取此数据) 有人有这方面的经验吗?

Google Fit API:ApiException 17(此设备无法使用Fitness.CLIENT)

Google Play文档声称这是一个API_NOT_CONNECTED代码 ,但我已经完成了(我认为我)必须要做的所有事情才能访问Google Fit API。 尝试在Android Wear手表上使用Fit API。 我有一个主要活动,它处理Auth,以及一个试图访问API的服务。 我在Google API控制台中添加了相关的调试密钥并启用了Google Fit – 我调用了成功的权限回调 – 暗示这不是激活的权限问题 的build.gradle: dependencies { //… compile ‘com.google.android.gms:play-services-fitness:11.8.0’ compile ‘com.google.android.gms:play-services-auth:11.8.0’ //… } Android清单: //… //… MainActivity代码段: //This method is called if the user chooses to enable Google Fit private void GFitRegister(){ FitnessOptions options = FitnessOptions.builder() .addDataType(DataType.TYPE_HEART_RATE_BPM, FitnessOptions.ACCESS_WRITE) .addDataType(DataType.TYPE_ACTIVITY_SAMPLES, FitnessOptions.ACCESS_WRITE) .addDataType(DataType.TYPE_ACTIVITY_SEGMENT, FitnessOptions.ACCESS_WRITE) […]

为什么我的可穿戴设备未在Google Fit API中列为DataSource?

我正在尝试使用Samsung Gear Live手表的心率监测器。 这款手表配有4.4.4手机,工作正常。 我正在关注官方的BasicSensorsApi示例 。 我可以使用以下范围成功连接到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)) 但是,当我想列出所有可用的心率监测器时,我收到一个空的DataSource列表: 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() { @Override public void onResult(DataSourcesResult dataSourcesResult) { for (DataSource dataSource : […]

如何从应用程序本身禁用Google Fit并撤消权限

我已经设置了连接到Google Fit的应用,可以读取和写入有关用户身体的一些数据。 当用户在应用设置中停用Google健身时,我会尝试通过以下方式撤消我的应用权限: public void disableGoogleFit(){ if(!mClient.isConnected()){ Log.e(TAG, “Google Fit wasn’t connected”); return; } PendingResult pendingResult = Fitness.ConfigApi.disableFit(mClient); pendingResult.setResultCallback(new ResultCallback() { @Override public void onResult(Status status) { if(status.isSuccess()) { Log.i(TAG, “Google Fit disabled”); }else{ Log.e(TAG, “Google Fit wasn’t disabled ” + status); } } }); } 即使我可以成功读取/写入数据,禁用Fit也会返回错误: Google Fit wasn’t disabled Status {statusCode=unknown status code: […]

创建与Google健身相似的圆环图

有谁知道如何创建类似于Google Fit中的圆环图。 这个库有吗?

GoogleFit可以区分不同设备之间的数据

我正在使用GoogleFit HistoryAPI从用户那里获取步骤数据。 它运作良好。 但是,在我的情况下,我想区分不同设备之间的数据(使用相同的帐户),因为我不希望用户为2个或更多设备使用相同的帐户(这是一个基于步骤的游戏,所以我不想要用户在1台设备上玩,并在许多设备上取得成就)。 我发现Device from DataSource#getDevice , Device#getLocalDevice可以帮助我区分不同设备之间的数据。 以下是官方文档的信息: 要获取有关数据源的设备的信息,请使用DataSource.getDevice方法。 设备信息可用于区分不同设备上的类似传感器,显示从传感器到用户的设备信息,或根据设备不同地处理数据。 例如,您可能有兴趣专门从可穿戴设备上的传感器读取数据,但不能从手机上相同types的传感器读取数据。 要获取运行活动的设备的Device实例,请使用Device.getLocalDevice静态方法。 当您要检查数据源是否与运行应用程序的设备相同时,这非常有用。 所以, // My idea is comparing the uid of local device and uid of device in datasource // if it is same => step come from THIS device // if not => step come from OTHER device private void dumpDataSet(DataSet […]