最近、Google+ ログインでコードを実行しました。ページからユーザーに Google+ ログインを許可し、インテントを使用して次のページにコントロールを渡す必要があります。これが私がしたことです
if (view == imageViewgoogleplus) {
str_button_clicked = "googleplus";
dogoogleLogin();
}
private void dogoogleLogin() {
mGoogleApiClient = new GoogleApiClient.Builder(this)
.addConnectionCallbacks(this)
.addOnConnectionFailedListener(this).addApi(Plus.API)
.addApi(Plus.API, Plus.PlusOptions.builder().build())
.addScope(Plus.SCOPE_PLUS_LOGIN).build();
mGoogleApiClient.connect();
signInWithGplus();
}
private void signInWithGplus() {
if (!mGoogleApiClient.isConnecting()) {
mSignInClicked = true;
resolveSignInError();
}
}
private void resolveSignInError() {
if (mConnectionResult.hasResolution()) {
try {
mIntentInProgress = true;
mConnectionResult.startResolutionForResult(this, RC_SIGN_IN);
} catch (SendIntentException e) {
mIntentInProgress = false;
mGoogleApiClient.connect();
}
}
}
@Override
public void onConnectionSuspended(int value) {
mGoogleApiClient.connect();
}
@Override
public void onConnectionFailed(ConnectionResult connectionresult) {
System.out.println("Connection failed");
if (!connectionresult.hasResolution()) {
GooglePlayServicesUtil.getErrorDialog(
connectionresult.getErrorCode(), this, 0).show();
return;
}
if (!mIntentInProgress) {
mConnectionResult = connectionresult;
if (mSignInClicked) {
resolveSignInError();
}
}
}
@Override
public void onConnected(Bundle bundle) {
mSignInClicked = false;
getProfileInformation();
}
private void getProfileInformation() {
try {
if (Plus.PeopleApi.getCurrentPerson(mGoogleApiClient) != null) {
Person currentPerson = Plus.PeopleApi
.getCurrentPerson(mGoogleApiClient);
String personName = currentPerson.getDisplayName();
String email = Plus.AccountApi.getAccountName(mGoogleApiClient);
}
} catch (Exception e) {
e.printStackTrace();
}
}
コードを実行すると、ユーザーのモバイルから資格情報を取得し、ログインを行う必要があります。Google から接続に失敗しました。SHA1 を適切にセットアップし、マニフェスト ファイルで適切な権限も提供しました。それでも私は問題を理解することができません。助けてください。