2013-05-07 2 views
10

Я создал чистый проект cordova 2.7.0 с помощью инструмента phonegap «create» (создать project_folder имя_пакета_имя проекта) , и я развернул приложение для своего Nexus 4 (androind 4.2.2). Код не записан.Phonegap cordova 2.7.0 ошибка при приостановке приложения

Приложение выполнено без ошибок, так как оно отображает логотип phonegap и «устройство apache cordova ready». Проблемы заключается в том, что, когда я нажимаю стандартный андроид правой кнопки (которая показывает последние запущенные приложения) я вижу в затмении LogCat что ocurrs ошибки:

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."}) 

После этой ошибки я нажимаю приложение из списка и а Появится всплывающее окно под названием «Ошибка приложения», содержащее именно это сообщение:

Соединение с сервером не увенчалось успехом. (javascript: try {cordova.require ('cordova/channel'). onDestroy.fire();} catch (e) {console.log («исключение обрыва уничтожения из родного»);};) «

Такое поведение происходит всегда (иногда требуется приостановить приложение, используя кнопку списка последних приложений дважды).

Любые идеи?

Заранее спасибо.

ОБНОВЛЕНИЕ: Как было предложено Роменом Брауном с использованием 2.4.0, ошибка не возникает.

+1

Вы согласны с понижением до 2,4? –

+1

Очевидно, эта ошибка появилась после Cordova2.5 –

+0

Как было предложено @RomainBraun с использованием 2.4.0, ошибка не возникает. Благодаря! – Endymion

ответ

7

Эта ошибка появилась после выхода Кордова 2.5

Еще никто не нашел решение.

Я бы рекомендовал сообщить об ошибке команде phonegap и понизить версию вашей Кордовы до версии 2.4, если это возможно.

+0

Я пробовал так много решений, но ничего не работало далеко. спасибо ваше предложение. Это выглядит хорошо до сих пор – user1693057

+1

Думаю, я нашел проблему, добавил комментарий к строке в [this commit] (https://github.com/apache/cordova-android/commit/cb192056f82e051a05bbda8b09ac01a118c39838) - надеюсь, кто-то исправит это скоро :) – greg84

0

У меня была эта досадная проблема, пока я не понял, что использовал неправильный файл Cordova.js. Изменил его, и проблема исчезла. Я использую телефонную развязку 2.7.

+0

можете ли вы предоставить более подробную информацию? Спасибо! – Endymion

0

Я думаю, что эта ошибка очень широка и симптоматична из нескольких проблем. У меня это получилось, когда я переопределял методы onPageFinished и onPageStarted на моем веб-клиенте и забыл вызвать super.onPageFinished (view, url), например ,

Обратите внимание, что тайм-ауты «очистили» от этих методов:

https://github.com/apache/cordova-android/blob/master/framework/src/org/apache/cordova/CordovaWebViewClient.java#L299

1

У меня была такая же проблема, и она также фиксируется, когда я использовал 2.4, но я решил разместить его как вопрос о их отслеживание проблем: https://issues.apache.org/jira/browse/CB-3749

Видимо для меня это произошло потому, что я удалила несколько строк в моем манифесте, потому что я целился андроид-10, но я должен был только что целевым андроидом-17, так как PhoneGap сам работает на android- 10, без меня, чтобы нацелить его.

0

У меня была такая же ошибка с Cordova 2.5 и вернулась к 2.4. Я недавно попробовал 2.9, и я больше не получаю ошибку.

2

Попробуйте увеличить значение тайм-аута загрузки в OnCreate метод вашего класса Java, который расширяет DroidGap:

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

Пожалуйста, не используйте webview.handlePause (ложь) в OnPause Activity (в) метод, но только использовать WebView .handleDestroy() в методе onDestroy() Activity.

Это происходит, когда пользователь повторно открывает активность, и мы исправили его таким образом в нашем приложении.

Cordova-2.5.jar

Смежные вопросы