Предположим, что пользователь запрашивает разрешения A, B, C и отрицает B. Вход будет терпеть неудачу, но когда я попытаюсь выполнить вход снова, вместо того, чтобы показывать диалог, в котором я могу принять или аннулировать разрешения, показывает диалог, в котором отображается сообщение «Вы уже разрешили app name», и разрешение B остается отрицательным.Повторно спросить отклоненные разрешения в Facebook не работает
Я использую этот код для выполнения Facebook логин:
код установки:
FacebookSdk.sdkInitialize(getApplicationContext());
...
if (mCallbackManager == null) {
mCallbackManager = CallbackManager.Factory.create();
mDeniedPermissions = new ArrayList<>(Arrays.asList(...));
}
Войти Код:
LoginManager.getInstance().registerCallback(mCallbackManager, new FacebookCallback<LoginResult>() {
@Override
public void onSuccess(LoginResult loginResult) {
...
mDeniedPermissions = loginResult.getRecentlyDeniedPermissions();
}
...
});
LoginManager.getInstance().logInWithReadPermissions(this, mDeniedPermissions);
Я пытался спросить все разрешения снова, только для отозванных, выполнено LoginManager.getInstance().logOut()
, чтобы очистить сеанс, но ничего ng, похоже, работает ... Однажды отозвано только с помощью приложения Facebook или веб-сайта, чтобы восстановить их снова.
Как я могу это решить?
ps: этот вопрос идентичен this one, но решение не работает в моем случае, я тоже пробовал.