2013-05-07 15 views
10

Ho creato un progetto pulito cordova 2.7.0 utilizzando lo strumento phonegap "crea" (crea project_folder nome_pacchetto nome_progetto) e ho distribuito l'app sul mio Nexus 4 (androind 4.2.2). Nessun codice è stato scritto.Errore di Phonegap cordova 2.7.0 quando si interrompe l'app

L'app è stata eseguita senza errori perché ha mostrato il logo di PhoneGap e "il dispositivo apache cordova è pronto". Il problema è che quando si tocca il tasto standard di Android a destra (che indica le recenti applicazioni in esecuzione) Vedo in eclisse logcat che un capita per errore:

05-07 18:29:54.957: D/webviewglue(24649): nativeDestroy view: 0x731f4738 
05-07 18:30:10.163: D/DroidGap(24649): Paused the application! 
05-07 18:30:10.163: D/CordovaWebView(24649): Handle the pause 
05-07 18:30:10.453: W/IInputConnectionWrapper(24649): showStatusIcon on inactive InputConnection 
05-07 18:30:10.743: D/DroidGap(24649): onDestroy() 
05-07 18:30:10.743: D/CordovaWebView(24649): >>> loadUrl(javascript:try{cordova.require('cordova/channel').onDestroy.fire();}catch(e){console.log('exception firing destroy event from native');};) 
05-07 18:30:10.743: D/PluginManager(24649): init() 
05-07 18:30:10.753: D/CordovaWebView(24649): >>> loadUrlNow() 
05-07 18:30:30.765: E/CordovaWebView(24649): CordovaWebView: TIMEOUT ERROR! 
05-07 18:30:30.765: D/Cordova(24649): CordovaWebViewClient.onReceivedError: Error code=-6 Description=The connection to the server was unsuccessful. URL=javascript:try{cordova.require('cordova/channel').onDestroy.fire();}catch(e){console.log('exception firing destroy event from native');}; 
05-07 18:30:30.765: D/DroidGap(24649): onMessage(onReceivedError,{"errorCode":-6,"url":"javascript:try{cordova.require('cordova\/channel').onDestroy.fire();}catch(e){console.log('exception firing destroy event from native');};","description":"The connection to the server was unsuccessful."}) 

Dopo questo errore si tocca l'applicazione dall'elenco e un popup intitolato "Errore applicazione" contenente esattamente questo messaggio:

"La connessione al server non ha avuto esito positivo. (javascript: provare {cordova.require ('cordova/canale'). onDestroy.fire();} catch (e) {console.log ('eccezione che salva l'evento di distruzione da nativo');};) "

Questo comportamento si verifica sempre (a volte è necessario mettere in pausa l'app utilizzando il pulsante elenco app recenti due volte).

Qualche idea?

Grazie in anticipo.

AGGIORNAMENTO: Come suggerito da Romain Braun utilizzando la versione 2.4.0, l'errore non si verifica.

+1

Ti va bene eseguire il downgrade a 2.4? –

+1

Apparentemente questo bug è apparso dopo Cordova2.5 –

+0

Come suggerito da @RomainBraun usando 2.4.0 l'errore non si verifica. Grazie! – Endymion

risposta

7

Questo bug è apparso dopo il rilascio di Cordova 2,5

Eppure nessuno ha trovato una soluzione.

Suggerirei di segnalare il bug al team di phonegap e di eseguire il downgrade della versione Cordova a 2.4 se possibile.

+0

Ho provato così tante soluzioni, ma niente ha funzionato come lontano. grazie del tuo suggerimento Sembra buono finora – user1693057

+1

Penso di aver trovato il problema, aggiunto un commento alla riga in [questo commit] (https://github.com/apache/cordova-android/commit/cb192056f82e051a05bbda8b09ac01a118c39838) - si spera che qualcuno lo risolva presto :) – greg84

0

Stavo avendo questo fastidioso problema fino a quando ho capito che stavo usando il file Cordova.js sbagliato. Modificato e il problema è sparito. Sto usando phonegap 2.7.

+0

puoi fornire maggiori dettagli? Grazie! – Endymion

1

Ho avuto lo stesso problema e si è inoltre fissata con quando ho usato 2.4, ma ho deciso di postare come un problema su la loro issue tracker: https://issues.apache.org/jira/browse/CB-3749

Evidentemente per me è accaduto perché avevo rimosso poche righe nel mio manifesto, perché si indirizzava android-10, ma ho dovuto semplicemente mirato android-17 dal PhoneGap si lavora per Android- 10, senza che io debba bersagliarlo.

0

Ho avuto lo stesso errore con Cordova 2.5 e sono tornato a 2.4. Ho recentemente provato 2.9 e non ho più ricevuto l'errore.

2

Provare ad aumentare il valore di timeout di carico nel metodo onCreate del vostro classe Java che estende DroidGap:

super.setIntegerProperty("loadUrlTimeoutValue", 60000); 
0

Non usare prego webview.handlePause (false) in onPause di attività() metodo, ma solo utilizzare WebView .handleDestroy() nel metodo onDestroy() di Activity.

Accade quando l'utente riapre l'attività e l'abbiamo risolto in questo modo nella nostra app.

Cordova-2.5.jar

Problemi correlati