3

ユーザーが許可 A、B、C を求められ、B を拒否するとします。ログインは失敗しますが、再度ログインを実行しようとすると、許可を受け入れるか取り消すことができるダイアログを表示する代わりに、「あなた」というメッセージが表示されるダイアログが表示されます。 ve alreadyauthorized app name " が表示され、権限 B は拒否されたままです。

このコードを使用して 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()が、セッションをクリアするために実行されましたが、何も機能していないようです... FacebookアプリまたはWebサイトのみを使用して取り消されたら、それらを再度復元します.
どうすればこれを解決できますか?

ps:この質問はこれと同じです、私の場合は解決策がうまくいきません。私も試しました。

4

1 に答える 1

1

問題が見つかりました。SDK 4.3.0 を使用していました。4.7.0 user2403096 のkyanro の投稿作品に対する回答を使用しています。

于 2015-10-20T16:32:23.867 に答える