我通过GoogleApiClient为应用设置了google plus登录。

每当第一次安装应用程序并尝试通过GoogleApiClient建立连接时,它永远不会成功,并且总是以onConnectionFailed结束, result包含:

ConnectionResult{statusCode=SIGN_IN_REQUIRED, resolution=PendingIntent{4130e760: android.os.BinderProxy@4130e700}}

但是当第二次登录时,它被称为成功并且onConnected命中。 为什么有可能在第一次尝试中取得成功?

我的Builder参数有什么问题吗?

public void connectGoogleApi() {
    mGoogleApiClient = new GoogleApiClient.Builder(mainAppContext).addConnectionCallbacks(this).addOnConnectionFailedListener(this).addApi(Plus.API).addScope(Plus.SCOPE_PLUS_LOGIN).build();
    mGoogleApiClient.connect();
}

public void onConnectionFailed(ConnectionResult result) {
    if (!result.hasResolution()) {
        GooglePlayServicesUtil.getErrorDialog(result.getErrorCode(), this, 0).show();
        return;
    }

    if (!mIntentInProgress) {
        // Store the ConnectionResult for later usage
        mConnectionResult = result;
        resolveSignInError();
    }

}

#1楼 票数:2

作为官方的文档说在这里

如果您使用GoogleApiClient连接到需要身份验证的API(例如Google云端硬盘或Google Play游戏),您的第一次连接尝试很可能会失败,并且您的应用会收到带有SIGN_IN_REQUIRED错误的onConnectionFailed()调用,因为该用户帐户未指定。

#2楼 票数:0

我有同样的问题,再次调用'connect()',这次在'onConnected'方法中修复了它。 奇怪。

@Override
   public void onConnected(final Bundle arg0) {
   Logger.log("On connected");
   DevicePreferences.getGoogleApiClient().connect();
}

  ask by Maven translate from so

未解决问题?本站智能推荐:

1回复

如何使GoogleAPIClient始终保持连接

我正在使用GoogleAPIClient读取位置信息。 我希望始终保持连接状态。 如何确保它始终处于连接状态。 一种方法是在调用连接失败回调时重新连接它。 触发以下回调的用例是什么? 1.OnConnectionFailedListener-> onConnectionFail
4回复

GoogleApiClient问题:GoogleApiClient尚未连接

在本课程中: 我有以下构造函数: 我用它返回一个Singleton实例: onConnected()看起来像这样: 根据用户可以在应用程序中进行的设置,我调用以下方法将应用程序置于所谓的自动驾驶模式,在该模式下,该模式开始跟踪用户的位置: 在主要活动中,我在onCreate(
1回复

连接GoogleApiClient虽然它已经连接

我正在使用 GoogleAPI 的 android 应用程序中工作。 在OnCreate()方法中, 我与GoogleApiClient连接。 我的问题是:假设GoogleApiClinet已connected 。 现在,如果在另一种方法中,我再次调用与GoogleApiClient的连接,它会不会
2回复

GoogleApiClient登录失败

我正试图在我的Android游戏中使用Google Games回合制Api。 我用来连接GoogleApiClient的代码来自Google的Api示例或文档。 在我的onConnectionFailed实现中,我尝试了两种不同的方法: 上面的第一种方法来自TBMP Skeleton样
1回复

googleApiClient无法连接

尝试获取我当前位置的纬度和经度。 我认为是因为googleApiClient无法连接。 结果,未调用我的onConnected方法,这是我获取经度和纬度值的地方。 我已经在这里尝试了所有建议,但仍然无法正常工作。 注意:我在运行该应用程序时也没有任何错误。 MainActivity
1回复

GoogleAPIClient无法正确连接?

我正在尝试按照本指南连接mGoogleAPIClient。 当我进行调试时,会弹出一个小窗口,询问我要使用哪个googleplus帐户登录。 一旦我选择主帐户并单击“确定”,它就会从那里停止,并且绝对不起作用。 没有错误消息,警告,信息,什么都没有。 我的来源:公共类MainMenu_
1回复

getAastLocation()在GoogleApiClient中始终为null

我正在尝试构建一个使用GoogleClientApi和LocationServices请求当前位置的应用程序,但即使我启用了WiFi,移动数据和GPS,在所有相同的设备上对其进行了测试,该位置始终为空 manifest.xml的权限: 活动: 奇怪的是,onConnect()方法被调
1回复

无法连接到GoogleAPICLient?

我已经坚持了一个多星期了,我似乎无法弄清楚我做错了究竟是什么。 我已经阅读了以下问题,这些问题似乎都不适用于我: 致命异常:java.lang.IllegalStateException尚未连接GoogleApiClient 在连接函数调用后,GoogleApiClient正在抛出“G