8

https://developers.facebook.com/docs/getting-started/facebook-sdk-for-android/3.0/の「Facebook ログインで新しい Android プロジェクトを作成する」セクションの手順に従いました。ログイン プロセスは問題ありません。ユーザーがログインするためにネイティブの Android ボタンを使用したいので、次のコードをネイティブの Android ボタンの View.OnClickListener() に移動して、コードを少し変更します。リスナーのコードは次のとおりです。

Session.openActiveSession(MainActivity.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() {

                // callback after Graph API
                // response with user object
                @Override
                public void onCompleted(GraphUser user,Response response) {
                    if (user != null) {
                        Toast.makeText(getApplicationContext(), "Hello " + user.getName() +" "+user.getId()+"!", Toast.LENGTH_LONG).show();
                    }
                }
            });
        }
    }
});

onActivityResult() と AndroidManifest.xml はチュートリアルと同じです

@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    Session.getActiveSession().onActivityResult(this, requestCode, resultCode, data);
}

ただし、ユーザーが正常にログインしたときに「read_friendlists」を取得するように要求したいと思います。https://developers.facebook.com/docs/tutorials/androidsdk/3.0/scrumptious/authenticate/でチュートリアルを読みましたが、Facebook SDK のカスタマイズされたボタンを使用しています。上記のコードのようなネイティブの Android ボタンで同じ動作を実現するにはどうすればよいですか?

4

1 に答える 1

3

別の投稿で同様の質問に答えました。私のソリューションでは、ネイティブ ボタンを使用して、ユーザーが最初にログインしたときに追加の読み取りアクセス許可を要求できます。ここで確認してください。3.0 SDK で追加のアクセス許可を要求する

于 2012-12-18T04:43:23.413 に答える