0

私はメッセージングアプリケーションで作業しています。私のアプリケーションでは、自分の電話番号で登録することができます。すべてが完璧に機能します。このすべてはFirebaseでやっています。 Here is the official documentation, where I learned it.電話番号でユーザをログイン

  1. しかし、今、私は問題を抱えています。アクティビティが開始するたびに自動的にログインする必要があります。これどうやってするの?

  2. もう少し質問があります。ユーザーがログアウトすると:FirebaseAuth.getInstance().signOut();、彼はどのようにログインできますか?彼はphonenumberを持つアカウントを作成しただけなので、パスワードなどはありません....送信されたSMSベースのコードです。


EDIT:

は、だから私はこの試みた:

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()'関数を試してみてください。あなたは 'reload()'に 'successListener'を追加することもできます – npk

+0

私の質問で私の編集を見てください – marcelo

0

1)私が最初に認証が