facebook sdk, fb_button ,logout -сменить activity

181
11 марта 2017, 01:43

Здравствуйте, как при LogOut с помощтю facebook button, сменить Activity в приложении, при Login есть метод OnSucces, там понятно, а при Logout?

public class MainActivity extends AppCompatActivity{
LoginButton mLoginButton;
CallbackManager mCallbackManager;
final String TAG = "my";

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    FacebookSdk.sdkInitialize(getApplicationContext());
    setContentView(R.layout.main);
    mLoginButton=(LoginButton)findViewById(R.id.fb_login_id);
    mCallbackManager=CallbackManager.Factory.create();
    mLoginButton.registerCallback(mCallbackManager, new FacebookCallback<LoginResult>() {
        @Override
        public void onSuccess(LoginResult loginResult) {
            Intent intent = new Intent(MainActivity.this,UserActivity.class);
            startActivity(intent);
            GraphRequest.newMeRequest(
                    loginResult.getAccessToken(), new GraphRequest.GraphJSONObjectCallback() {
                        @Override
                        public void onCompleted(JSONObject json, GraphResponse response) {
                            if (response.getError() != null) {
                                // handle error
                                Log.d(TAG, "ERROR");
                            } else {
                                String jsonresult = String.valueOf(json);
                                Log.d(TAG, jsonresult);
                            }
                        }
                    }).executeAsync();
            GraphRequest.newMyFriendsRequest(AccessToken.setCurrentAccessToken();)

        }
        @Override
        public void onCancel() {
        }
        @Override
        public void onError(FacebookException error) {
        }
    });
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    mCallbackManager.onActivityResult(requestCode,resultCode,data);
}

}

Answer 1

Для получения события разлогинивания вам нужно следить за изменением токена. Как только он null - юзер разлогинился. Следить надо так:

AccessTokenTracker accessTokenTracker = new AccessTokenTracker() {
    @Override
    protected void onCurrentAccessTokenChanged(AccessToken oldAccessToken,
                                               AccessToken currentAccessToken) {
        if (currentAccessToken == null) {
            Log.d(TAG, "onLogout catched");
        }
    }
};
accessTokenTracker.startTracking();
READ ALSO
Как сохранить состояние чекбоксов?

Как сохранить состояние чекбоксов?

Создал приложение в котором есть несколько чекбоксовК примеру выбрал несколько из них

322
Одно нажатие вместо двух разных

Одно нажатие вместо двух разных

Был одна кнопка, работало всё замечательно, решил добавить вторую и понеслось, хотя в ней метод и другой но делает она то же самое что и первая,...

234
LibGDX с рекламой Admob

LibGDX с рекламой Admob

Видел пару инструкции в интернете по подключение баннеров в приложение, но все они абсолютно разныеВ общем прошу подсказать будет ли данный...

313