0
我的應用程序需要通過Google登錄。我從firebase打開了該教程(但首先您需要配置Google本身)是否按照說明編寫。但是,它不起作用。爲什麼result.isSuccess()總是爲false。因此,我無法獲取帳戶信息。我無法通過Google登錄獲取帳戶信息
的logcat:
08-04 08:32:28.128 1948 1948 D AutoManageHelper starting AutoManage for client 0 false false
08-04 08:32:28.136 1948 1948 D AutoManageHelper onStart true {[email protected]}
08-04 08:32:28.296 1948 1974 E GED Failed to get GED Log Buf, err(0)
08-04 08:32:35.293 1948 1948 D Tag handleSignInResult:false
代碼:
import android.content.*;
import android.os.*;
import android.support.v7.app.*;
import android.view.*;
import android.view.View.*;
import com.google.android.gms.auth.api.*;
import com.google.android.gms.auth.api.signin.*;
import com.google.android.gms.common.api.*;
import android.util.*;
import android.support.v4.app.*;
import com.google.android.gms.common.*;
import android.widget.*;
public class GoogleSigInActivity extends FragmentActivity implements GoogleApiClient.OnConnectionFailedListener
{
GoogleApiClient mGoogleApiClient;
private static final int RC_SIGN_IN = 9001;
private String TAG = "Tag";
TextView mStatusTextView;
@Override
public void onConnectionFailed(ConnectionResult p1)
{
// TODO: Implement this method
}
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_gogle_sign_in);
GoogleSignInOptions gso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN).
requestEmail().
build();
// Build a GoogleApiClient with access to the Google Sign-In API and the
// options specified by gso.
mGoogleApiClient = new GoogleApiClient.Builder(this).
enableAutoManage(this, this).
addApi(Auth.GOOGLE_SIGN_IN_API, gso).
build();
mStatusTextView = (TextView) findViewById(R.id.activitygoglesigninTextView1);
findViewById(R.id.sign_in_button).setOnClickListener(new OnClickListener() {
@Override
public void onClick(View p1)
{
switch (p1.getId())
{
case R.id.sign_in_button :
signIn();
break;
}
}
});
}
private void signIn()
{
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);
// Result returned from launching the Intent from GoogleSignInApi.getSignInIntent(...);
if (requestCode == RC_SIGN_IN)
{
GoogleSignInResult result = Auth.GoogleSignInApi.getSignInResultFromIntent(data);
handleSignInResult(result);
}
}
private void handleSignInResult(GoogleSignInResult result)
{
Log.d(TAG, "handleSignInResult:" + result.isSuccess());
if (result.isSuccess())
{
// Signed in successfully, show authenticated UI.
GoogleSignInAccount acct = result.getSignInAccount();
mStatusTextView.setText("work " + acct.getDisplayName());
}
else
{
// Signed out, show unauthenticated UI.
mStatusTextView.setText("not work");
}
}
}
謝謝,我會試試看) –