La finestra di dialogo di accesso di Facebook SDK che convalida il flusso viene gestita dal lato server di Facebook. E poiché non abbiamo alcun controllo al nostro fianco per la convalida dell'accesso.
L'SDK di Facebook fornisce una vista LoginButton che è un'implementazione di visualizzazione personalizzata di un pulsante. Puoi utilizzare questo pulsante nella tua app per implementare l'accesso a Facebook. La classe LoginButton mantiene lo stato della sessione, che consente di visualizzare il testo corretto nel pulsante in base allo stato autenticato dell'utente. L'aggiunta di LoginButton al layout della tua attività è un modo rapido per implementare l'accesso a Facebook.
Insieme al pulsante di accesso, è possibile controllare altri componenti dell'interfaccia utente (UI) in base al fatto che l'utente sia autenticato o meno. L'SDK di Facebook include due classi: UiLifecycleHelper
e Session.StatusCallback
, per gestire gran parte della complessità legata alla gestione delle modifiche allo stato della sessione. L'attività o il frammento in cui viene mostrata la funzionalità autenticata può creare un'istanza della classe UiLifecycleHelper
e passare in un listener Session.StatusCallback
a cui viene notificata qualsiasi modifica dello stato della sessione. L'attività o il frammento deve chiamare i metodi pubblici che rispecchiano i metodi del ciclo di vita di un'attività o di un frammento. Questi metodi vengono utilizzati per creare, aprire, salvare e ripristinare una sessione di Facebook attiva. L'implementazione del listener Session.StatusCallback
può sovrascrivere il metodo call()
per rispondere alle modifiche dello stato della sessione e aggiornare di conseguenza l'interfaccia utente.
Quindi LoginButton
controlla la funzionalità del pulsante di accesso ed è possibile aggiungere codice personalizzato attivato dal metodo call()
per controllare altri componenti dell'interfaccia utente.
Il flusso di lavoro di accesso alla finestra di dialogo (che è una visualizzazione Web) è interamente controllato sul lato server e non è presente alcun flag sul lato client per disattivarlo per quanto ne so. –
@Ron Nessun problema per me su Android 3.2. Sto usando Facebook Android SDK 3.0. Penso di avere avuto un problema simile su iOS ma non stavo usando l'ultima versione dell'SDK di Facebook iOS. – Pang
Se Facebook vuole che il campo non sia protetto da un errore, ciò sembrerebbe essere la scelta di Facebook, se è il campo di Facebook e non il tuo. – CommonsWare