gpt4 book ai didi

android - 从 Google Plus 注销/断开连接(Ionic/Cordova - cordova-plugin-googleplus)

转载 作者:行者123 更新时间:2023-11-30 00:17:05 24 4
gpt4 key购买 nike

我正在尝试从 Google Plus 注销/断开连接(我正在使用 cordova-plugin-googleplus https://github.com/EddyVerbruggen/cordova-plugin-googleplus/)

事情是这样的:我通过我的应用程序成功登录到 Google Plus,并显示了一个注销按钮。如果我单击注销,它将正确注销并且一切正常!但是,如果我打开我的应用程序,成功登录到 Google Plus 并完全关闭该应用程序,当我再次打开该应用程序并尝试注销时,它会给我一个错误:Please use login or trySilentLogin before disconnecting

来自插件 GooglePlus.java 中的这段代码:

    private void disconnect() {
if (this.mGoogleApiClient == null) {
savedCallbackContext.error("Please use login or trySilentLogin before disconnecting");
return;
}

ConnectionResult apiConnect = mGoogleApiClient.blockingConnect();

if (apiConnect.isSuccess()) {
Auth.GoogleSignInApi.revokeAccess(this.mGoogleApiClient).setResultCallback(
new ResultCallback<Status>() {
@Override
public void onResult(Status status) {
if (status.isSuccess()) {
savedCallbackContext.success("Disconnected user");
} else {
savedCallbackContext.error(status.getStatusCode());
}
}
}
);
}
}

这是我的代码 home.ts :

Logout() {
let env = this;
this.googlePlus.disconnect().then(
(msg) => {
if(firebase.auth().currentUser){
firebase.auth().signOut();
}
env.nativeStorage.remove('user');
}).catch(
(msg) => {
alert('logout error: '+msg);
})
;
}

让我保持登录状态的代码似乎没有应用程序意识到它的“登录”是在 home.ts 构造函数中:

this.user = this.afAuth.authState.switchMap(user => {
if (user)
{
return this.afs.doc<User>(`users/${user.uid}`).valueChanges()
} else
{
return Observable.of(null)
}
})

用户是可观察类型:

   user: Observable<User>;

即使关闭应用程序并重新打开它,我仍然可以看到对数据库所做的更改,即使我无法注销!

我希望这能澄清我的问题。

谢谢

最佳答案

明白了!使用 trySilentLogin。您必须完全按照 login() 的实现方式来实现它,它会很好地工作!

也不要忘记将它添加到构造函数中:

this.yourfunctioname();

在里面你会有 googlePlus.trySilentLogin() 代码!

关于android - 从 Google Plus 注销/断开连接(Ionic/Cordova - cordova-plugin-googleplus),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47074827/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com