亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Google 登錄不會更改活動

Google 登錄不會更改活動

郎朗坤 2021-10-28 14:53:30
我剛剛在我的應用程序中實現了 Google 登錄,但由于某種原因,當用戶單擊 google 登錄按鈕時,它沒有激活 MainActivity。這是當用戶單擊登錄按鈕時激活的方法:private void signIn() {    Intent signInIntent = mGoogleSignInClient.getSignInIntent();    startActivityForResult(signInIntent, RC_SIGN_IN);}我必須在我想激活的地方添加活動。通常我將它添加到 Intent 中。但是當我這樣做時:private void signIn() {    Intent signInIntent = mGoogleSignInClient.getSignInIntent();    signInIntent.setClass(this, MainActivity.class);     startActivityForResult(signInIntent, RC_SIGN_IN);}然后登錄不再起作用。
查看完整描述

1 回答

?
溫溫醬

TA貢獻1752條經驗 獲得超4個贊

正如您在此處看到的,在調用登錄意圖后,您必須覆蓋 onActivityResult 方法來處理它:


@Override

public void onActivityResult(int requestCode, int resultCode, Intent data) {

  super.onActivityResult(requestCode, resultCode, data);


  // Result returned from launching the Intent from GoogleSignInClient.getSignInIntent(...);

  if (requestCode == RC_SIGN_IN) {

      // The Task returned from this call is always completed, no need to attach

      // a listener.

      Task<GoogleSignInAccount> task = GoogleSignIn.getSignedInAccountFromIntent(data);

      handleSignInResult(task);

  }

}

然后在您的 handleSignInResult 中,您可以檢查登錄是否成功,然后開始您的活動


private void handleSignInResult(Task<GoogleSignInAccount> completedTask) {

  try {

      GoogleSignInAccount account = completedTask.getResult(ApiException.class);


      // Signed in successfully, start your activity here.


  } catch (ApiException e) {

      // The ApiException status code indicates the detailed failure reason.

      // Please refer to the GoogleSignInStatusCodes class reference for more information.

      Log.w(TAG, "signInResult:failed code=" + e.getStatusCode());

      updateUI(null);

  }

}


查看完整回答
反對 回復 2021-10-28
  • 1 回答
  • 0 關注
  • 180 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號