私はAndroidベースのアプリケーションにFirebaseAuthUIを導入しました。ユーザーがFacebook、Twitter、電話番号、またはGmailを通じて私のアプリにログインできる場所。私が直面している問題は、ユーザーの情報(Facebook、Twitter、Gmail、およびサインインしたユーザーの電話番号を使用してログインしている場合、ユーザーの名前を取得する方法がわからないことですFireBaseAuthUIを使用してアプリにログインまたはサインインしたときに表示されます。 onActivityResultメソッドでこの情報を何とか取得できますか?そうでない場合は、ログインするか、アプリにログインするたびに、自分のユーザーの情報(名前、電子メールID、電話番号でログインしたユーザーの電話番号)を取得するにはどうすればいいですか?FireBaseでログインまたはログインしたユーザーのプロファイル情報を取得する方法AuthUI
ここに私のコード成功したログイン後
package com.example.anonymous.userlogin;
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import com.firebase.ui.auth.AuthUI;
import com.firebase.ui.auth.ErrorCodes;
import com.firebase.ui.auth.IdpResponse;
import com.google.firebase.auth.FirebaseAuth;
import java.util.Arrays;
public class MainActivity extends AppCompatActivity {
private static final int RC_SIGN_IN = 123;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
FirebaseAuth auth = FirebaseAuth.getInstance();
if (auth.getCurrentUser() != null)
{
}
else
{
// not signed in
startActivityForResult(
AuthUI.getInstance()
.createSignInIntentBuilder()
.setIsSmartLockEnabled(false)
.setAvailableProviders(
Arrays.asList(new AuthUI.IdpConfig.Builder(AuthUI.EMAIL_PROVIDER).build(),
new AuthUI.IdpConfig.Builder(AuthUI.PHONE_VERIFICATION_PROVIDER).build(),
new AuthUI.IdpConfig.Builder(AuthUI.GOOGLE_PROVIDER).build(),
new AuthUI.IdpConfig.Builder(AuthUI.FACEBOOK_PROVIDER).build(),
new AuthUI.IdpConfig.Builder(AuthUI.TWITTER_PROVIDER).build()))
.setTheme(R.style.MyLoginTheme)
.build(),
RC_SIGN_IN);
}
}
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
// RC_SIGN_IN is the request code you passed into startActivityForResult(...) when starting the sign in flow.
if (requestCode == RC_SIGN_IN) {
IdpResponse response = IdpResponse.fromResultIntent(data);
// Successfully signed in
if (resultCode == RESULT_OK) {
finish();
return;
} else {
// Sign in failed
if (response == null) {
// User pressed back button
return;
}
if (response.getErrorCode() == ErrorCodes.NO_NETWORK) {
return;
}
if (response.getErrorCode() == ErrorCodes.UNKNOWN_ERROR) {
return;
}
}
}
}
}