Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/385.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Android的GoogleSignInClient.signOut()不注销用户_Java_Android_Google Api - Fatal编程技术网

Java Android的GoogleSignInClient.signOut()不注销用户

Java Android的GoogleSignInClient.signOut()不注销用户,java,android,google-api,Java,Android,Google Api,1) 在myHomeActivity屏幕中,将有一个用于用户注销的按钮。此按钮导致注销()登录活动的方法 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_home); //adding an onclicklistener to signOut butto

1) 在myHomeActivity屏幕中,将有一个用于用户注销的按钮。此按钮导致注销()登录活动的方法

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

    //adding an onclicklistener to signOut button
    findViewById(R.id.sign_out_button).setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            LoginActivity loginActivity = new LoginActivity();
            loginActivity.signOut();
        }
    });
}
2) 在我的LoginActivity中,signOut()方法将执行Google提供的

public void signOut() {
    mGoogleSignInClient.signOut()
            .addOnCompleteListener(this, new OnCompleteListener<Void>() {
                @Override
                public void onComplete(@NonNull Task<Void> task) {
                    Toast.makeText(getApplicationContext(), "Disconnecting...", Toast.LENGTH_LONG);
                    Intent i = new Intent(getApplicationContext(), LoginActivity.class);
                    startActivity(i);
                }
            });
}

clearDefaultAccountAndReconnect()api将清除以前的登录帐户详细信息。在侦听器中的signout onComplete()方法中尝试使用以下代码段

if (mGoogleApiClient.hasConnectedApi(Auth.GOOGLE_SIGN_IN_API)) {
        mGoogleApiClient.clearDefaultAccountAndReconnect();
        mGoogleApiClient.stopAutoManage(context);
        mGoogleApiClient.disconnect();
    }

clearDefaultAccountAndReconnect()api将清除以前的登录帐户详细信息。在侦听器中的signout onComplete()方法中尝试使用以下代码段

if (mGoogleApiClient.hasConnectedApi(Auth.GOOGLE_SIGN_IN_API)) {
        mGoogleApiClient.clearDefaultAccountAndReconnect();
        mGoogleApiClient.stopAutoManage(context);
        mGoogleApiClient.disconnect();
    }

谢谢你的回答,但是你说的方法是来自不推荐使用的GoogleAppClient,我使用的是GoogleSignInClient,所以不起作用。谢谢你的回答,但是你说的方法是来自不推荐使用的GoogleAppClient,我使用的是GoogleSignInClient,所以不起作用