Подтвердить что ты не робот

Как отказаться от кода Facebook

Может кто-то, пожалуйста, помогите мне забыть этот бит кода? Вот пример из Facebook (о том, как подключиться к учетной записи FB - https://developers.facebook.com/docs/android/getting-started/facebook-sdk-for-android/), однако отмеченная строка:

          Request.executeMeRequestAsync(session, new Request.GraphUserCallback() {

устарел. Я попытался заменить его на:

    Request.newMeRequest( session, callback, executeAsync() );  

Однако, код вложен настолько смутно, что он все испортил. Я был бы признателен за любую помощь, которую вы могли бы дать, поскольку я был на этом весь день.

// start Facebook Login
Session.openActiveSession(this, true, new Session.StatusCallback() {

  // callback when session changes state
  @Override
  public void call(Session session, SessionState state, Exception exception) {
    if (session.isOpened()) {

      // make request to the /me API
      Request.executeMeRequestAsync(session, new Request.GraphUserCallback() { // *DEPRECATED

        // callback after Graph API response with user object
        @Override
        public void onCompleted(GraphUser user, Response response) {
          if (user != null) {
            TextView welcome = (TextView) findViewById(R.id.welcome);
            welcome.setText("Hello " + user.getName() + "!");
          }
        }
      });
    }
  }
});

}

Привет

4b9b3361

Ответ 1

Замените Request.executeMeRequestAsync на

Request.newMeRequest(session, new Request.GraphUserCallback() {

  // callback after Graph API response with user object
  @Override
  public void onCompleted(GraphUser user, Response response) {
    if (user != null) {
      TextView welcome = (TextView) findViewById(R.id.welcome);
      welcome.setText("Hello " + user.getName() + "!");
    }
  }
}).executeAsync();

то есть. Ничего не меняется, кроме того, что вы вызываете несколько другой метод и помещаете .executeAsync() в конец.