我已经使用各自的方法集成了谷歌和Facebook注册.但是在成功签名之后,我想打开不同的活动,同样用户可以进行各种不同的活动.我使用了操作栏,我可以选择从用户登录的任一帐户中退出.如果我处于不同的活动,那么我可以在主要活动中退出用户.我得到一个例外,我无法将apiclient引用(对于谷歌)和会话引用(对于Facebook)传递给另一个活动.请帮忙.
提前致谢.
提前致谢.
解决方法
从谷歌退出:
只需在您的新活动中添加此项,您希望Google的注销按钮位于此处:
@Override protected void onStart() { GoogleSignInOptions gso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN) .requestEmail() .build(); mGoogleApiClient = new GoogleApiClient.Builder(this) .addApi(Auth.GOOGLE_SIGN_IN_API,gso) .build(); mGoogleApiClient.connect(); super.onStart(); }
接下来你可以在按钮上设置setOnClickListener:
signout.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Auth.GoogleSignInApi.signOut(mGoogleApiClient).setResultCallback( new ResultCallback<Status>() { @Override public void onResult(Status status) { // ... Toast.makeText(getApplicationContext(),"Logged Out",Toast.LENGTH_SHORT).show(); Intent i=new Intent(getApplicationContext(),MainActivity.class); startActivity(i); } }); } });