Android FB API 3.0 - ne définissez les autorisations qu'une seule fois

J'essaie de comprendre comment les nouvelles API travaille, donc j'ai réussi à comprendre le concept, et a réussi à faire mon propre "hello world", qui se connectent à facebook, déconnectez-vous et essayez de charger une image.

Maintenant dans les deux HelloFacebookSample et SessionLoginSimple, il y a une simple connexion à facebook, et dans le HelloFacebookSample, lorsque vous cliquez sur "ajouter des photos", une nouvelle boîte de dialogue de connexion s'affiche, parce que les autorisations ne sont pas définies.

c'est le code de HelloFacebookSample:

 private void performPublish(PendingAction action) {
    Session session = Session.getActiveSession();
    if (session != null) {
        pendingAction = action;
        if (session.getPermissions().contains("publish_actions")) {
            //We can do the action right away.
            handlePendingAction();
        } else {
            //We need to reauthorize, then complete the action when we get called back.
            Session.ReauthorizeRequest reauthRequest = new Session.ReauthorizeRequest(this, PERMISSIONS).
                    setRequestCode(REAUTHORIZE_ACTIVITY).
                    setLoginBehavior(SessionLoginBehavior.SSO_WITH_FALLBACK);
            session.reauthorizeForPublish(reauthRequest);
        }
    }
}

De sorte que nous n'avons pas de "publish_actions" nous avons besoin d'autoriser à nouveau.

Dans SimpleSessionLogin de connexion ressemble à ceci:

private void onClickLogin() {
    Session session = Session.getActiveSession();
    if (!session.isOpened() && !session.isClosed()) {
        session.openForRead(new Session.OpenRequest(this).setCallback(statusCallback));
    } else {
        Session.openActiveSession(this, true, statusCallback);
    }
}

Donc, je ne peux pas comprendre comment demander des autorisations lors de la connexion. C'est un peu bizarre ou, pour dire les redondant pour vous connecter au service à deux reprises en quelques secondes avec exactement la même boîte de dialogue.

Il peut sembler à l'utilisateur que quelque chose est faux ou bizarre.

Je veux me connecter à facebook une fois, avec wanted autorisations, mais l'aide de l'API 3.0 Session appels, pas le obsolète.

Quelqu'un peut-il expliquer de quelle manière?

source d'informationauteur Balkyto | 2012-10-24