0

나는 메시징 응용 프로그램을 만들고 있습니다. 내 응용 프로그램에서 하나의 전화 번호로 등록 할 수 있습니다. 모든 것이 완벽하게 작동합니다. 이 모든 일은 파이어베이스와 관련이 있습니다. Here is the official documentation, where I learned it.전화 번호로 사용자 로그인

  1. 하지만 지금은 문제가 있습니다. 활동이 시작될 때마다 자동으로 로그인해야합니다. 맞습니까? 어떻게해야합니까?

  2. 조금 다른 질문. 사용자가 로그 아웃 할 때 : FirebaseAuth.getInstance().signOut();, 어떻게 로그인 할 수 있습니까? 그는 암호 또는 아무 것도없이 phonenumber가있는 계정 만 만들었 기 때문에 ... firebase에 의해 보내진 SMS 코드 만.


는 편집 :

그래서 나는이 시도 :

if(mFirebaseUser != null) mFirebaseUser.reload().addOnCompleteListener(this, new OnCompleteListener<Void>() { 
     @Override 
     public void onComplete(@NonNull Task<Void> task) { 
      if(!task.isSuccessful()) { 
       if (mFirebaseUser == null) { 
        String exc = task.getException().getMessage(); 
        Log.d("FireBaseUser", exc); 
        mFirebaseAuth.getInstance().signOut(); 
        startActivity(new Intent(ChatListActivity.this, LoginActivity.class)); 
        finish(); 
        Log.d("FireBaseUser", "User doesnt exist"); 
        return; 
       } 
       else { 
        Log.d("FireBaseUser", "User is ok!"); 
        return; 
       } 

      } 
      else{ 
       Log.d("FireBaseUser", "????"); 
      } 
     } 
    }); 

    else { 
     Log.d("FireBaseUser", "User is null"); 
    } } 
    }); 

을하지만 그것은 작동하지 않습니다. 그리고 사용자가 로그인 할 수 있습니다 ... 내가 뭘 잘못 했니? 그리고 코드가 실행되지 않는 것 같습니다. 내 기록에는 아무 것도 보이지 않기 때문에. 내가 코드를 실행 매번 그것은 내 놓는다 : 사용자가 null

+0

가 귀하의 질문 하나만 물어이 질문을 편집 고려 성공하면 당신이 된 SharedPreferences에 PHONENUMBER을 저장해야한다고 생각 시간. – Jon

답변

0
FirebaseUser mUser = mAuth.getCurrentUser(); 
if (mUser == null) { 
    // not logged-in 
    // show login activity 
} else { 
    // logged-in 
    String phoneNumber = mUser.getPhoneNumber(); 
    // ... 
} 
+0

그래서 나는 이미 이것을 시도했다. 하지만 거기에는 문제가 있습니다. 내 firebase pannel에서 사용자 계정을 삭제하거나 비활성화하면 사용자가 계정을 가지고있을 때에도 로그인 할 수 있습니다. – marcelo

+0

'mUser.reload()'함수를 사용해보십시오. – npk

+0

내 질문에 내 편집을보실 수 있습니까 – marcelo

0

1) 내가 먼저 인증