2016-08-15 8 views
0

これは私を怒らせています。 AndroidアプリでGoogle Fit APIに接続しようとしているクライアントがあります。 クライアントは既に承認されています(そのステップが動作します)。GoogleApiClientはコールバックなしで永久にハングします

GoogleApiClient.Builder builder = new GoogleApiClient.Builder(activity.getApplicationContext()) 
      .addApi(Fitness.SESSIONS_API) 
      .addApi(Fitness.SENSORS_API) 
      .addScope(new Scope(Scopes.FITNESS_ACTIVITY_READ_WRITE)) 
      .addConnectionCallbacks(new GoogleApiClient.ConnectionCallbacks() { 
       @Override 
       public void onConnected(@Nullable Bundle bundle) { 
        LogExt.i(MyClass.class, "Connected to Google Fit...."); 
       } 

       @Override 
       public void onConnectionSuspended(int i) { 
        LogExt.d(MyClass.class, "Connection to Google APIs suspended"); 
       } 
      }); 
     builder.enableAutoManage(PinCodeActivity.instance, new GoogleApiClient.OnConnectionFailedListener() { 
      @Override 
      public void onConnectionFailed(@NonNull ConnectionResult connectionResult) { 
       if (connectionResult.isSuccess()) { 
        LogExt.i(MyClass.class, "Connected to Google Fit !"); 
       } else { 
        LogExt.e(MyClass.class, "Cannot connect Google Fit: " + connectionResult.getErrorMessage()); 
       } 
      } 
     }); 
    } 
    gclient = builder.build(); 
    LogExt.d(MyClass.class, "Going to connect to Google APIs..."); 
    gclient.connect(); 

アプリは、その後何もしません:

ここでコールです。ログは印刷されません。接続はありません。断線はありません。全く何もない。 私は一般的なログを見ましたが、まだ何か手がかりを見つけることができません。サムスンギャラクシーS6に

ラン、アンドロイド6.0.1、インポートライブラリ:com.google.android.gms:play-services-fitness:9.4.0

私は迷ってしまいました。助けてください!

答えて

0

私はこの問題を発見しました。それはenableAutoManage()に渡されたアクティビティと関係していました。渡された活動は破壊されたので、クライアントはどこかで迷子になった。

クライアントはアクティビティにバインドされなければならないのは残念です。なぜなら、同じクライアントで異なるアクティビティを実行することはできないからです。これをデバッグするのに頼ることのできるフィードバックがないことも残念です。

関連する問題