簡體   English   中英

我嘗試注銷時應用崩潰

[英]App crashes when I try to logout

我正在開發一個應用,並且用戶使用Google登錄進行身份驗證。登錄是完美的,但是如果我使用

mAuth.signOut();

這使我退出了Firebase,而不是Google帳戶。 當我嘗試登錄時,使用我之前使用的帳戶登錄,但我沒有選擇帳戶的選項。 我遵循了google文檔來注銷用戶並斷開帳戶連接。 我的按鈕代碼:

btnlogout.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View view) {
                 signOut();
             }
         });    

我的簽出代碼

private void signOut() {
        mGoogleSignInClient.signOut()
                .addOnCompleteListener(this, new OnCompleteListener<Void>() {
                    @Override
                    public void onComplete(@NonNull Task<Void> task) {
                        startActivity(new Intent(TempActivity.this,MainActivity.class));


                    }
                });
    }

按鈕位於onCreate內部。 當我按注銷按鈕時,我的應用程序崩潰。 有任何想法嗎? 調用登出java.lang.NullPointerException時出現錯誤

您需要確保要引用相同的GoogleSignInClient對象。 在我看來,您正在使用GoogleSignInClient中的另一個GoogleSignInClient對象來處理尚未初始化的注銷,從而導致nullpointer異常。

GoogleSignInOptions gso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
            .build();

mGoogleSignInClient = GoogleSignIn.getClient(this, gso);

然后,您需要在處理注銷的類中使用對mGoogleSignInClient的相同引用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM