GoogleApiClient的enableAutoManage()需要片段活动,但我有一个活动

时间:2016-11-01 06:21:13

标签: android android-activity google-api-client

我想从集成到我的应用程序中的Google帐户退出。我有这个功能

   public void logoutFromGooglePlus(Activity a) {
        GoogleSignInOptions gso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
                .requestEmail()
                .requestProfile()
                .build();
        GoogleApiClient mGoogleApiClient = new GoogleApiClient.Builder(a.getBaseContext())
                .enableAutoManage(a /* FragmentActivity */, this /* OnConnectionFailedListener */)
                .addApi(Auth.GOOGLE_SIGN_IN_API)
                .build();
        mGoogleApiClient.connect();
        if (mGoogleApiClient.isConnected()) {
            Auth.GoogleSignInApi.signOut(mGoogleApiClient).setResultCallback(
                    new ResultCallback<Status>() {
                        @Override
                        public void onResult(Status status) {


                        }
                    });
        } else {
            mGoogleApiClient.connect();   // It can send user to onConnected(), call logout again from there
        }
    }

正如您所看到的,我需要在活动中执行此操作,但在此我遇到问题enableAutoManage需要fragmentActivity作为输入。但我有一项活动。我可以轻松地将活动转换为fragmentActivity吗?还是有其他方法可以做到这一点? 感谢

1 个答案:

答案 0 :(得分:3)

我遇到了和你一样的问题,但是当我从活动改为AppCompatActivity时,它可以正常工作。

希望它有所帮助。