如何取消链接应用程序与谷歌驱动器帐户

时间:2014-12-18 16:17:10

标签: android google-drive-api google-play-services google-drive-android-api

我通过谷歌播放服务链接我的应用程序 - 驱动器api。工作正常,直到我尝试取消链接我的申请表用户的谷歌驱动器帐户。我找到了一种使用Plus API的方法,如

mApi = new GoogleApiClient.Builder(context)
    .addApi(Drive.API)
    .addApi(Plus.API)
    .addScope(Drive.SCOPE_APPFOLDER)
    .addConnectionCallbacks(this)
    .addOnConnectionFailedListener(this)
    .build();
...
...
Plus.AccountApi.clearDefaultAccount(mApi);
mApi.disconnect();

但实际上这对我没什么帮助。当我重新链接到我的应用程序谷歌驱动器时,帐户选择意图没有显示出来。 (我的帐户未激活Google Plus服务!)

还有其他方法可以将应用与谷歌驱动器取消关联。我想知道为什么Drive :: DriveApi :: clearDefaultAccount不存在?

修改:

好吧,作为一种解决方法;

mApi.clearDefaultAccountAndReconnect();
mApi.disconnect();

这将清除身份验证数据,而mApi.disconnect()不允许重新连接...我仍然想知道是否有任何优雅的解决方案...

1 个答案:

答案 0 :(得分:3)

如您所见,方法clearDefaultAccount()已弃用,已替换为clearDefaultAccountAndReconnect()

方法clearDefaultAccountAndReconnect()会移除您应用的Google Play服务中设置的默认帐户。对connect()的后续调用将返回一个解析意图,让用户选择其他帐户。

如果用户选择相同的帐户,则不会同意,因为未撤销对该应用的访问权限。用户还应该选择使用revokeAccessAndDisconnect(GoogleApiClient)撤消访问权限。

您可以在链接中找到更多信息:https://developer.android.com/reference/com/google/android/gms/plus/Account.html

希望它有所帮助。

相关问题