我正在开发一个Android应用程序,想要使用Google API。为此,我已经导入了google-play-service-lib项目。
我正在按照此链接初始化GoogleApiClient对象。
我的代码:
1)在onCreate()
方法中,我正在构建GoogleApiClient对象:
mGoogleApiClient = new GoogleApiClient.Builder(this)
.addConnectionCallbacks(this)
.addOnConnectionFailedListener(this)
.addApi(Plus.API, null)
.addScope(Plus.SCOPE_PLUS_LOGIN)
.build();
2) 在onStart()
中,我调用了mGoogleApiClient.connect()
。
3) 我的活动实现了ConnectionCallbacks和OnConnectionFailedListener。
4) 我的onConnectionFailed()
方法如下:
public void onConnectionFailed(ConnectionResult result) {
//in dubug result looks like : ConnectionResult{
//statusCode=SIGN_IN_REQUIRED, resolution=PendingIntent
// {41f8ca70: android.os.BinderProxy@41f8ca10}}
try {
if(!mIntentInProgress && result.hasResolution())
{
mIntentInProgress=true;
result.startResolutionForResult(mActivity, RC_SIGN_IN);
}
} catch (SendIntentException e) {
e.printStackTrace();
}
}
5) 我的onActivityResult()
方法包含:
if (requestCode == RC_SIGN_IN) {
if (!mGoogleApiClient.isConnecting()) {
mGoogleApiClient.connect();
}
}
运行我的应用程序时,我收到一个Toast提示,说出现了内部错误。我确实在Google控制台中创建了该项目。
private static int REQUEST_CODE_RESOLVE_ERR = 1000;
或者任何你想要的正整数。然后使用它来检查是否是正确的调用,在你的 onActivityResult() 中返回。 - Recomer