<span style=
"font-size:10px"
>
private
SignInButton Google_Login;
private
static
final
int
RC_SIGN_IN =
1000
;
private
FirebaseAuth mAuth;
private
GoogleApiClient mGoogleApiClient;
@Override
protected
void
onCreate(Bundle savedInstanceState) {
super
.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
GoogleSignInOptions gso =
new
GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
.requestIdToken(getString(R.string.default_web_client_id))
.requestEmail()
.build();
mGoogleApiClient =
new
GoogleApiClient.Builder(
this
)
.enableAutoManage(
this
,
this
)
.addApi(Auth.GOOGLE_SIGN_IN_API,gso)
.build();
mAuth = FirebaseAuth.getInstance();
Google_Login = findViewById(R.id.Google_Login);
Google_Login.setOnClickListener(
new
View.OnClickListener() {
@Override
public
void
onClick(View view) {
Intent signInIntent = Auth.GoogleSignInApi.getSignInIntent(mGoogleApiClient);
startActivityForResult(signInIntent,RC_SIGN_IN);
}
});
}
@Override
public
void
onActivityResult(
int
requestCode,
int
resultCode, Intent data) {
super
.onActivityResult(requestCode, resultCode, data);
if
(requestCode == RC_SIGN_IN) {
GoogleSignInResult result = Auth.GoogleSignInApi.getSignInResultFromIntent(data);
if
(result.isSuccess()) {
GoogleSignInAccount account = result.getSignInAccount();
firebaseAuthWithGoogle(account);
Intent intent =
new
Intent(getBaseContext(), Main2Activity.
class
);
startActivityForResult(intent,
1000
);
}
else
{
Toast.makeText(MainActivity.
this
,
"인증 실패 Code : 1"
, Toast.LENGTH_SHORT).show();
}
}
}
private
void
firebaseAuthWithGoogle(GoogleSignInAccount acct){
AuthCredential credential = GoogleAuthProvider.getCredential(acct.getIdToken(),
null
);
mAuth.signInWithCredential(credential)
.addOnCompleteListener(
this
,
new
OnCompleteListener<AuthResult>() {
@Override
public
void
onComplete(
@NonNull
Task<AuthResult> task) {
if
(!task.isSuccessful()){
Toast.makeText(MainActivity.
this
,
"구글 로그인 인증 성공"
, Toast.LENGTH_SHORT).show();
}
else
{
Toast.makeText(MainActivity.
this
,
"인증 실패 Code : 2"
, Toast.LENGTH_SHORT).show();
}
}
});
}</span>