アプリからログインしてfacebook
ユーザーの詳細を取得しようとしています。Loginbutton
Facebook SDK v3.5 の代わりに、独自のカスタム ボタンを使用しています。私の問題は、ボタンをクリックすると、ユーザーが友人リスト、電子メールなどの詳細にアクセスするための許可に同意するために表示されるはずの許可ダイアログボックスが表示されないことです。代わりに、読み込み中のシンボルが数秒間表示され、次のアクティビティに直接進みます。以下は私が使用しているコードです。ユーザーがログインボタンをクリックしたときに権限ダイアログボックスが表示されるようにします。以下は私のコードです
fbLogin.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
loginToFb();
}
});
}
private void loginToFb() {
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()) {
final Session.NewPermissionsRequest newPermissionsRequest = new Session.NewPermissionsRequest(
LandingPageActivity.this, Arrays.asList("user_location", "user_birthday", "user_likes", "email"));
session.requestNewReadPermissions(newPermissionsRequest);
// make request to the /me API
Request request = 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) {
fetchUserFbDetails(user);
Intent intent = new Intent(getApplicationContext(),
SignUpActivity.class);
startActivity(intent);
finish();
}
}
}
});
Request.executeBatchAsync(request);
}
}
});
}