Ich habe Probleme bei der Integration meiner App mit Google-Anmeldung. Es scheint nur, dass das Ergebnis handleSignInResult (GoogleSignInResult Ergebnis) ist falsch (und sollte wahr sein).
Kann jemand helfen und erklären, warum das passiert? Ich kann nicht herausfinden, was passieren kann, dass es scheitern wird (mit und ohne das enthaltene Token scheitert es immer noch).Google Anmelden in Android-App funktioniert nicht
public class GoogleSignIn extends AppCompatActivity implements GoogleApiClient.OnConnectionFailedListener{
//Pass this client ID to the requestIdToken or requestServerAuthCode method when you create the GoogleSignInOptions object.
private final int RC_SIGN_IN = 9001;
private final String TOKEN_CRED_ID = "*******-the web application credentials copied from https://console.developers.google.com/apis/credentials";
private GoogleApiClient mGoogleApiClient;
private SignInButton SignInBtn;
private TextView SignInStatusView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_google_sign_in);
SignInBtn = (SignInButton) findViewById(R.id.sign_in_button);
SetButtons();
SignInStatusView = (TextView) findViewById(R.id.google_sign_in_status);
// Get the user's ID and basic profile info using google
GoogleSignInOptions gso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
.requestEmail()
.requestIdToken(TOKEN_CRED_ID)
.build();
// This object is used in order to access the Google API for Signing in
mGoogleApiClient = new GoogleApiClient.Builder(this)
.enableAutoManage(this/* AppCompatActivity */, this /* OnConnectionFailedListener */)
.addApi(Auth.GOOGLE_SIGN_IN_API, gso)
.build();
SignInBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
signIn();
}
});
final Button SignOutBtn = (Button) findViewById(R.id.sign_out_and_disconnect);
SignOutBtn.setVisibility(View.GONE);
SignOutBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
signOut();
}
});
}
private void CustomizeSignInButton()
{
SignInBtn = (SignInButton) findViewById(R.id.sign_in_button);
SignInBtn.setSize(SignInButton.SIZE_STANDARD);
}
private void SetButtons()
{
CustomizeSignInButton();
Button back = (Button) findViewById(R.id.go_back);
back.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
GoogleSignIn.this.finish();
}
});
}
protected void onStart() {
super.onStart();
mGoogleApiClient.connect();
}
protected void onStop() {
super.onStop();
if (mGoogleApiClient.isConnected()) {
mGoogleApiClient.disconnect();
}
}
private void signIn() {
Intent signInIntent = Auth.GoogleSignInApi.getSignInIntent(mGoogleApiClient);
startActivityForResult(signInIntent, RC_SIGN_IN);
}
private void signOut() {
Auth.GoogleSignInApi.signOut(mGoogleApiClient).setResultCallback(
new ResultCallback<Status>() {
@Override
public void onResult(Status status) {
// [START_EXCLUDE]
updateUI(false);
// [END_EXCLUDE]
}
});
}
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
System.out.println("\n\n\n\nRequest code: " + requestCode);
// Result returned from launching the Intent from GoogleSignInApi.getSignInIntent(...);
if (requestCode == RC_SIGN_IN) {
if (resultCode == RESULT_OK)
{
System.out.println("OK RESULT");
}
else
{
System.out.println("NOT OK RESULT");
}
GoogleSignInResult result = Auth.GoogleSignInApi.getSignInResultFromIntent(data);
handleSignInResult(result);
}
}
private void handleSignInResult(GoogleSignInResult result) {
System.out.println("handleSignInResult:" + result.isSuccess());
if (result.isSuccess()) {
// Signed in successfully, show authenticated UI.
GoogleSignInAccount acct = result.getSignInAccount();
SignInStatusView.setText(getString(R.string.signed_in, acct.getDisplayName()));
updateUI(true);
SaveClientDetails(acct);
} else {
// Signed out, show unauthenticated UI.
updateUI(false);
}
}
private void updateUI(boolean signedIn) {
if (signedIn) {
findViewById(R.id.sign_in_button).setVisibility(View.GONE);
findViewById(R.id.sign_out_and_disconnect).setVisibility(View.VISIBLE);
} else {
SignInStatusView.setText(R.string.signed_out);
findViewById(R.id.sign_in_button).setVisibility(View.VISIBLE);
findViewById(R.id.sign_out_and_disconnect).setVisibility(View.GONE);
}
}
private void SaveClientDetails(GoogleSignInAccount account)
{
// Save to DB
System.out.println("*\nIn SAVE\n*");
}
@Override
public void onConnectionFailed(ConnectionResult connectionResult) {
// Connection failed completely. Sign in and other functions are not available.
System.out.println("ERROR ::: Problems with connection");
}
}
laufen herunterladen tat Sie wenden SHA-1 Schlüssel für debugg an – siva35
wie mache ich das? –