第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

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

如何使用 Android Studio 在 firebase 中檢查“用戶電子郵件已經(jīng)存在”

如何使用 Android Studio 在 firebase 中檢查“用戶電子郵件已經(jīng)存在”

不負相思意 2021-06-15 21:23:15
我正在嘗試更改我的代碼。但是,它失敗了。我的輸出還是一樣。也就是說,如果用戶放置了一個已經(jīng)存在或不存在的電子郵件。驗證“此電子郵件已被注冊?!?還是出來了。為什么?有人我的編碼有什么問題嗎?這是我的方法:-public boolean isCheckEmail(final String email){    mAuth.fetchProvidersForEmail(email).addOnCompleteListener(new OnCompleteListener<ProviderQueryResult>()    {        @Override        public void onComplete(@NonNull Task<ProviderQueryResult> task)        {            boolean check = !task.getResult().getProviders().isEmpty();            if(check)            {                Toast.makeText(Signup.this, "This email has been registered.", Toast.LENGTH_SHORT).show();            }            else            {                Toast.makeText(Signup.this, "This email has been registered.", Toast.LENGTH_SHORT).show();            }        }    });    return true;}雖然這半編碼,我試圖回調(diào)方法 isCheckEmail:- private void RegisterAccount(String firstname, String lastname, String email, String password, String confirmpass){    if (TextUtils.isEmpty(email))    {        Toast.makeText(Signup.this, "Enter your email address.", Toast.LENGTH_SHORT).show();    }    else if (!isValidEmail(email)) {        Toast.makeText(Signup.this,"Please enter your valid email address.",Toast.LENGTH_SHORT).show();    }    else if (!isCheckEmail(email))    {        Toast.makeText(Signup.this, "This email has been registered.", Toast.LENGTH_SHORT).show();    }
查看完整描述

3 回答

?
慕尼黑的夜晚無繁華

TA貢獻1864條經(jīng)驗 獲得超6個贊

fetchProvidersForEmail 是一個異步調(diào)用,因此您必須在回調(diào)中使用其返回值。


在主線程上返回 true 將不起作用。


這是解決方案:


首先用方法創(chuàng)建接口(成功)


public interface OnEmailCheckListener(){

 void onSuccess(boolean isRegistered);

你的 checkEmail 方法應(yīng)該是這樣的:


public void isCheckEmail(final String email,final OnEmailCheckListener listener){

mAuth.fetchProvidersForEmail(email).addOnCompleteListener(new OnCompleteListener<ProviderQueryResult>()

{

    @Override

    public void onComplete(@NonNull Task<ProviderQueryResult> task)

    {

        boolean check = !task.getResult().getProviders().isEmpty();

        

        listener.onSuccess(check);

     

    }

});


}

最后像這樣調(diào)用你的 isCheckEmail :


isCheckEmail("yourEmail@test.com",new OnEmailCheckListener(){

   @Override

   void onSuccess(boolean isRegistered){

    

     if(isRegistered){

           //The email was registered before

    } else {

           //The email not registered before

    }


   }

});

希望這對你有幫助。


查看完整回答
反對 回復(fù) 2021-06-30
?
手掌心

TA貢獻1942條經(jīng)驗 獲得超3個贊

此方法可用于檢查電子郵件是否存在


 void checkEmailExistsOrNot(){

    firebaseauth.fetchSignInMethodsForEmail(email.getText().toString()).addOnCompleteListener(new OnCompleteListener<SignInMethodQueryResult>() {

        @Override

        public void onComplete(@NonNull Task<SignInMethodQueryResult> task) {

            Log.d(TAG,""+task.getResult().getSignInMethods().size());

            if (task.getResult().getSignInMethods().size() == 0){

                // email not existed

            }else {

                // email existed

            }


        }

    }).addOnFailureListener(new OnFailureListener() {

        @Override

        public void onFailure(@NonNull Exception e) {

            e.printStackTrace();

        }

    });

}


查看完整回答
反對 回復(fù) 2021-06-30
  • 3 回答
  • 0 關(guān)注
  • 175 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號