2013-05-07 34 views
10

Tôi đã tạo dự án cordova 2.7.0 sạch bằng cách sử dụng công cụ điện thoại "tạo" (tạo project_folder package_name project_name) và tôi đã triển khai ứng dụng cho Nexus 4 của mình (androind 4.2.2). Không có mã nào được viết.Lỗi Phonegap cordova 2.7.0 khi tạm dừng ứng dụng

Ứng dụng đã được thực thi không có lỗi vì ứng dụng đã hiển thị biểu trưng của điện thoại và "thiết bị apache cordova đã sẵn sàng". Vấn đề là khi tôi chạm vào nút phải chuẩn android (trong đó cho thấy các ứng dụng chạy gần đây) tôi thấy trong nhật thực logcat rằng một ocurrs lỗi:

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

Sau khi lỗi này tôi khai thác các ứng dụng từ danh sách và một cửa sổ bật lên có tiêu đề "Lỗi ứng dụng" xuất hiện chứa chính xác thông báo này:

"Kết nối với máy chủ không thành công. (javascript: try {cordova.require ('cordova/channel'). onDestroy.fire();} catch (e) {console.log ('ngoại lệ bắn phá hủy sự kiện từ bản địa');};) "

Hành vi này xảy ra luôn luôn (đôi khi nó yêu cầu tạm dừng ứng dụng bằng cách sử dụng nút danh sách ứng dụng gần đây hai lần).

Bất kỳ ý tưởng nào?

Cảm ơn bạn trước.

CẬP NHẬT: Theo đề xuất của Romain Braun bằng cách sử dụng 2.4.0 lỗi không xảy ra.

+1

Bạn có thể hạ cấp xuống 2,4 không? –

+1

Rõ ràng lỗi này xuất hiện sau khi Cordova2.5 –

+0

Theo đề xuất của @RomainBraun bằng cách sử dụng 2.4.0 lỗi không xảy ra. Cảm ơn! – Endymion

Trả lời

7

Lỗi này xuất hiện sau khi phát hành Cordova 2,5

Tuy nhiên, chưa ai tìm ra giải pháp.

Tôi khuyên bạn nên báo cáo lỗi cho nhóm điện thoại và hạ cấp phiên bản Cordova xuống 2.4 nếu có thể.

+0

Tôi đã thử rất nhiều giải pháp, nhưng không có gì làm việc như xa. cảm ơn đề nghị của bạn. Nó có vẻ tốt cho đến nay – user1693057

+1

Hãy suy nghĩ tôi tìm thấy vấn đề, thêm bình luận vào dòng trong [cam kết này] (https://github.com/apache/cordova-android/commit/cb192056f82e051a05bbda8b09ac01a118c39838) - hy vọng ai đó sẽ sửa chữa nó sớm :) – greg84

0

Tôi đã gặp vấn đề khó chịu này cho đến khi tôi nhận ra mình đang sử dụng sai tệp Cordova.js. Thay đổi nó và vấn đề đã biến mất. Tôi đang sử dụng phonegap 2.7.

+0

Bạn có thể cung cấp chi tiết hơn? Cảm ơn bạn! – Endymion

0

Tôi nghĩ rằng lỗi này rất rộng và có triệu chứng của một số vấn đề. Tôi đã nhận được nó khi tôi ghi đè phương thức onPageFinished và onPageStarted trên ứng dụng webview của mình và quên gọi super.onPageFinished (xem, url) chẳng hạn .

Lưu ý rằng timeout được "dọn sạch" bằng các phương pháp:

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

1

tôi đã cùng một vấn đề và nó cũng đã được cố định với khi tôi sử dụng 2.4, nhưng tôi quyết định gửi nó như một vấn đề trên Trình theo dõi vấn đề của họ: https://issues.apache.org/jira/browse/CB-3749

Rõ ràng là tôi đã xóa một vài dòng trong tệp kê khai của mình, vì tôi đang nhắm mục tiêu android-10, nhưng tôi nên nhắm mục tiêu android-17 kể từ khi phonegap hoạt động cho android- 10, mà không cần phải nhắm mục tiêu nó.

0

Tôi đã gặp lỗi tương tự với Cordova 2.5 và được hoàn nguyên về 2,4. Gần đây tôi đã thử 2.9 và tôi không còn nhận được lỗi.

2

Hãy thử tăng giá trị thời gian chờ tải trong phương thức onCreate của lớp Java của bạn kéo dài DroidGap:

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

Xin vui lòng không sử dụng webview.handlePause (false) trong onPause Hoạt động của() phương pháp, nhưng chỉ sử dụng webview .handleDestroy() trong phương thức onDestroy() của Activity thay vào đó.

Điều đó xảy ra khi người dùng mở lại hoạt động và chúng tôi đã khắc phục sự cố theo cách đó trong ứng dụng của chúng tôi.

Cordova-2.5.jar

Các vấn đề liên quan