未连接到互联网时,请使用google fit api进行连接

时间:2016-06-25 08:16:36

标签: android google-api-client google-fit google-fit-sdk

当尝试构建google api客户端以访问fit api时,我在移动设备未连接到互联网时收到以下错误:connection failed. Cause: ConnectionResult{statusCode=NETWORK_ERROR, resolution=null, message=null}。我尝试过两种方式连接google fit api:

方法1:此方法在登录后与Fit API连接。此方法在没有互联网时不起作用。我认为登录程序需要互联网。

GoogleSignInOptions gso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
            .requestEmail()
            .requestScopes(new Scope(Scopes.FITNESS_ACTIVITY_READ_WRITE), new Scope(Scopes.FITNESS_LOCATION_READ))
            .build();

    return new GoogleApiClient.Builder(activity)
            .addApi(Auth.GOOGLE_SIGN_IN_API, gso)
            .addConnectionCallbacks(connectionCallbacks)
            .addOnConnectionFailedListener(failedListener)
            .addApi(Fitness.HISTORY_API)
            .addApi(Fitness.SESSIONS_API)
            .addApi(Fitness.RECORDING_API)
            .addApi(Fitness.SENSORS_API)
            .enableAutoManage(this, 0, this)
            .build();

方法2:因此我尝试删除了登录功能,因为我觉得一旦用户登录并授权使用api来收集数据,那么登录将不是必需的。

googleApiClient = new GoogleApiClient.Builder(this)
                    .addApi(Fitness.HISTORY_API)
                    .addApi(Fitness.SESSIONS_API)
                    .addApi(Fitness.RECORDING_API)
                    .addApi(Fitness.SENSORS_API)
                    .addScope(new Scope(Scopes.FITNESS_ACTIVITY_READ_WRITE))
                    .addConnectionCallbacks(this)
                    .addOnConnectionFailedListener(failedListener)
                    .build();

但是我在连接失败的侦听器ConnectionResult{statusCode=SIGN_IN_FAILED, resolution=null, message=null}中收到此错误。

如何确保在没有互联网连接的情况下访问fitApi?

1 个答案:

答案 0 :(得分:0)

尝试以下解决方法:

  • 检查您的项目是否有产品名称和与之关联的电子邮件地址,两者均可在“同意屏幕”部分找到。
  • 如果不起作用,请删除项目并重新创建。
  • 根据此thread,如果在Google开发者控制台中未正确注册应用,则会出现此问题。
  

我认为您已在Google开发者控制台上注册了应用   生产密钥库证书指纹(SHA1)   在具有调试密钥库的应用程序上测试它。

     

执行以下步骤:

     
      
  1. 使用调试密钥库证书指纹(SHA1)再创建一个客户端ID。
  2.   
  3. 卸载现有应用。
  4.   
  5. 安装应用&连接到Google fit。
  6.   
  7. 检查google fit app&确保您的应用程序列为已连接的应用程序(...>设置>已连接的应用程序>已连接的应用程序&   设备)。
  8.   
  9. 现在运行上面的代码&它会起作用!!!
  10.   

检查这些相关的门票:

希望这有帮助!