Java 如何实现Facebook和Google身份验证的单次注销功能

Java 如何实现Facebook和Google身份验证的单次注销功能,java,android,facebook,Java,Android,Facebook,我正在我的android应用程序中实现Facebook和Google身份验证 我已经完成了他们两人的身份验证,但是对于从应用程序中注销,我只有一个按钮,并且有两种非常不同的方法可以通过facebook或google注销 我需要从应用程序注销,考虑到哪个帐户用户登录到我的应用程序,即Facebook或Google 以下是从Facebook注销的代码: FacebookSdk.sdkInitialize(getApplicationContext()); LoginManager.getInstan

我正在我的android应用程序中实现Facebook和Google身份验证

我已经完成了他们两人的身份验证,但是对于从应用程序中注销,我只有一个按钮,并且有两种非常不同的方法可以通过facebook或google注销

我需要从应用程序注销,考虑到哪个帐户用户登录到我的应用程序,即Facebook或Google

以下是从Facebook注销的代码:

FacebookSdk.sdkInitialize(getApplicationContext());
LoginManager.getInstance().logOut();
这是给谷歌的:

private void signOut() {
    Auth.GoogleSignInApi.signOut(mGoogleApiClient).setResultCallback(
            new ResultCallback<Status>() {
                @Override
                public void onResult(Status status) {
                    // ...
                }
            });
}
private void signOut(){
Auth.GoogleSignInApi.signOut(mgoogleapclient.setResultCallback)(
新的ResultCallback(){
@凌驾
公共void onResult(状态){
// ...
}
});
}
如何根据用户登录的帐户类型实现这些功能


提前感谢。

面向对象编程的默认答案是:创建另一层抽象

意思是:你从以下内容开始:

public interface Authentification {
  public void login();
  public void logout();
}
然后创建不同的类来实现这个接口

然后,在运行时,您有一个单个类/方法,它知道用户使用哪个实现,这取决于您是否需要Google/Facebook/什么。此方法将
authentication
作为返回类型


而您的所有其他代码只处理他们现在使用的对象:它们实现了该接口。

我建议您看看Firebase身份验证,它支持多个身份验证提供商,如Facebook和Google

Firebase将负责所选认证提供商的登录和注销,您不必为每个新的认证提供商制定登录和注销程序

您可以在此处找到文档: