0
Googleドライブのアプリフォルダに書き込むSyncAdapter
(コードはUIスレッドでは実行されません)があります。これは、Google Sign-InなしのGoogleApiClient
でうまくいきましたが、Google Sign-InでGoogleApiClient
に移動しようとしています。GOOGLE_SIGN_IN_APIでGoogleApiClient.blockingConnect()が動作しない
のない作業コードGoogleログイン中:
mGoogleApiClient = new GoogleApiClient.Builder(context)
.setAccountName(accountName)
.addApi(Drive.API)
.addScope(Drive.SCOPE_APPFOLDER)
.addConnectionCallbacks(this)
.addOnConnectionFailedListener(this)
.build();
mGoogleApiClient.blockingConnect();
を今、私はGoogleが、サインでは、それはもはや作品の使用に移動していること。
GoogleSignInOptions gso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
.requestScopes(new Scope(Scopes.DRIVE_APPFOLDER))
.build();
mGoogleApiClient = new GoogleApiClient.Builder(mApplication)
.addApi(Drive.API)
.addApi(Auth.GOOGLE_SIGN_IN_API, gso)
.addConnectionCallbacks(this)
.addOnConnectionFailedListener(this)
.build();
mGoogleApiClient.blockingConnect();
私のプログラムはblockingConnect()
への呼び出しに、次のエラーで倒れる:
java.lang.IllegalStateException: Cannot use SIGN_IN_MODE_REQUIRED with GOOGLE_SIGN_IN_API. Use connect(SIGN_IN_MODE_OPTIONAL) instead.
をGoogleで
blockingConnect()
を実行するための方法があり、次のコードは、私が使用しようとしていますものですサインインAPI?
SyncAdapter
が上記のコードを試行する前に、UIスレッドで最初のサインインを実行します。
私は追加するのを忘れ...私はプレイサービスに9.4を使用しています。 0 –