如何从不同的活动中注销G + plus sigin?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何从不同的活动中注销G + plus sigin?相关的知识,希望对你有一定的参考价值。

我已经在同一个活动上成功实现了他的代码,但是如何从另一个Activity中注销。

要参考完整代码:https://www.androidhive.info/2014/02/android-login-with-google-plus-account-1/

private void signOut() {
    Auth.GoogleSignInApi.signOut(mGoogleApiClient).setResultCallback(
            new ResultCallback<Status>() {
                @Override
                public void onResult(Status status) {
                    updateUI(false);
                }
            });
}
答案

在第二个活动创建

public GoogleActivity google_activity;

在Google Activity上初始化

SecondActivity.google_activity=this;

然后你可以打电话

google_activity.signout();
另一答案

我在我的一个项目中做了以下...

public class MainActivity extends AppCompatActivity {


    private GoogleSignInClient mGoogleSignInClient;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);  


        // Configure Google Sign In
        GoogleSignInOptions gso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
                .requestIdToken(getString(R.string.default_web_client_id))
                .requestEmail()
                .build();   

        mGoogleSignInClient = GoogleSignIn.getClient(this, gso);   

    }  

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.menu_main, menu);
        return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        // Handle action bar item clicks here. The action bar will
        // automatically handle clicks on the Home/Up button, so long
        // as you specify a parent activity in androidManifest.xml.
        int id = item.getItemId();

        //noinspection SimplifiableIfStatement
        if (id == R.id.signout) {
            //DialogUtils.getInstance().
            signOut();
            return true;
        }
        return super.onOptionsItemSelected(item);
    }

    private void signOut() {        

        // Google sign out
        mGoogleSignInClient.signOut().addOnCompleteListener(this,
                new OnCompleteListener<Void>() {
                    @Override
                    public void onComplete(@NonNull Task<Void> task) {
                       startActivity(new Intent(MainActivity.this,LoginActivity.class));
                        finish();
                    }
                });
    }
}

以上是关于如何从不同的活动中注销G + plus sigin?的主要内容,如果未能解决你的问题,请参考以下文章

如何从 google plus 帐户中注销 google plus 在 android 中的集成

Google 使用 g-plus 最新 API 在 android 中登录和注销

单击注销时如何从所有活动会话中注销?

如何使用 Google 登录从不同的活动中退出用户?

在 android 应用程序中从 google 和 facebook 注销

如何从管理员端注销所有活动的登录用户