ユーザーに Facebook のアクセス許可を追加したいと考えています。それが私がそれを行う方法です:
Session.openActiveSession(this, true, new Session.StatusCallback() {
@Override
public void call(Session session, SessionState state, Exception exception) {
if (session.isOpened()) {
List<String> PERMISSIONS = Arrays.asList("email");
if (!session.getPermissions().containsAll(PERMISSIONS)) {
Session.NewPermissionsRequest newPermissionsRequest = new Session.NewPermissionsRequest(MainActivity.this,
PERMISSIONS);
session.requestNewReadPermissions(newPermissionsRequest);
}
Request.newMeRequest(session, new Request.GraphUserCallback() {
@Override
public void onCompleted(GraphUser user, Response response) {
if (user != null) {
Toast.makeText(MainActivity.this, user.asMap().get("email").toString(), Toast.LENGTH_LONG).show();
}
}
}).executeAsync();
}
}
});
問題は、ユーザーがこの権限を持っていない場合に限り、毎回セッションを開きたくないということです。ユーザーがアプリでこの許可を既に承認しているかどうかをローカルで知る方法はありますか?