28

誰かがこのコードの非推奨を取り消すのを手伝ってくれませんか? これは 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() + "!");
          }
        }
      });
    }
  }
});

}

よろしく

4

1 に答える 1

88

を次のものに置き換えます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()つまり、わずかに異なるメソッドを呼び出して最後に置くことを除いて、何も変わりません。

于 2013-09-18T17:46:03.637 に答える