Facebook を Android アプリケーションに統合しています。ユーザーが初めてログインしたときに、requestFacebookPermissions(session) メソッドを使用して publish_actions 権限を要求しています。しかし、このメソッドを呼び出すたびに、以下の例外が発生します...
java.lang.UnsupportedOperationException: Session: an attempt was made to request new permissions for a session that has a pending request.
保留中の他のリクエストはありません。他の内部リクエストである可能性がありますが、この例外を取得せずにアクセス許可をリクエストするにはどうすればよいですか? 他のリクエストが完了するまで待たなければならない場合は問題ありませんが、保留中のリクエストが完了するかどうかを取得する方法がわかりません。
private void requestFacebookPermissions(Session session) {
if (session != null && session.getState().isOpened()) {
List<String> permissions = session.getPermissions();
Log.i("Facebook", "Permissions Count: " + permissions.size());
for (String string : permissions) {
Log.i("FacebookPermissions", string);
}
if (!permissions.containsAll(PERMISSIONS)) {
try {
session.requestNewPublishPermissions(new Session.NewPermissionsRequest(FacebookActivity.this, PERMISSIONS));
} catch (Exception e) {
e.printStackTrace();
}
}
} else {
return;
}
}