2014-09-18 13 views
5

Siamo nel bel mezzo della creazione di un'applicazione basata su PhoneGap utilizzando AngularJS e il framework Ionic.PhoneGap Listener di eventi InAppBrowser troppo lento (Android)

Questa app è un sistema di gestione del negozio che si collega a un'app Web esistente utilizzando OAuth2 e abbiamo un problema con il reindirizzamento Android dopo l'autenticazione.

Un listener di eventi è configurato come segue per chiudere la finestra InAppBrowser sia al momento della connessione o l'annullamento ::

if (runningInCordova) { 
     connectWindow.addEventListener('loadstart', function(event) { 
      var url = event.url; 
      if (url.indexOf("code=") > 0 || url.indexOf("error=") > 0) { 

       return callback(url).then(function() { 
        connectWindow.close(); 
       }, 
       function() { 
        connectWindow.close(); 
       }); 
      } 
     }); 

Per scopi di test del browser, un localhost reindirizzamento URI è anche definito con successo:

http://localhost:8100/oauthcallback.html 

Su iOS funziona bene e InAppBrowser si chiude immediatamente quando dovrebbe, ma su Android c'è un ritardo prima che questo listener di eventi si attivi. Il risultato è che per circa 1 secondo viene visualizzato il seguente messaggio di errore:

Web page not available 
The web page at http://localhost:8100/oauthcallback.html could not be loaded as: 
net::ERR_CONNECTION_REFUSED 

il listener di eventi quindi si attiva e la finestra si chiude.

Esiste un modo per rendere più rapido l'ascolto del listener di eventi al fine di evitare questo errore?

Molte grazie

+0

Ho problemi con il login tramite twitter. Come hai configurato l'url di richiamata? Ho fornito l'host locale e 127.0.0.1 e non funziona visualizzando il messaggio net :: ERR_CONNECTION_REFUSED –

+0

eventuali aggiornamenti/aiuto su questo? – John

+0

Hai provato a utilizzare un url non localhost? –

risposta

0

Questo può accadere anche se si è a cercare di accedere alla libreria InAppBrowser, ma non avendo il plugin installato nel progetto PhoneGap.