2011-01-13 25 views
10

Tôi đang sử dụng jQueryMobile và phoneGap cho một ứng dụng di động trên nhiều thiết bị. Tôi sử dụng bộ nhớ cục bộ html 5 để lưu giữ các bản ghi mà người dùng đã làm việc.Sự kiện nào cần bắt buộc để tắt ứng dụng?

Tôi không biết sự kiện PhoneGap nào cần nắm bắt ngay trước khi ứng dụng bị tắt để tôi có thể đảm bảo dữ liệu được lưu trước khi tắt hoàn tất.

Dựa trên đề xuất từ ​​naughtur, tôi đã thử cả sự kiện tải trước và trước khi tải, không ai trong số họ bị sa thải trong khi tắt ứng dụng. Sau là mã snip của tôi:

function persistTasks(){ 
    alert ("is unloading the app"); 
    offlineTasklist.set("tasks", tasklist); 
} 

function init() { 
    document.addEventListener("unload", persistTasks, false); 
    login(); 
} 

$(document).ready(init); 
+0

thật thú vị. thử tải và tải trước các sự kiện và đăng lại xem chúng có hoạt động hay không. Nếu không - chúng tôi sẽ phải khai thác trong điện thoại apis – naugtur

+0

Cảm ơn naugtur! Tôi đã chấp nhận một số câu trả lời, nhưng phần trăm dường như không phản ánh chúng. Nhưng dù gì cũng cảm ơn!! – xueru

+0

Đã thử cả tải và tải trước, cả hai đều không được kích hoạt trong khi đóng ứng dụng. – xueru

Trả lời

7

Tôi không chắc chắn 100% về việc sử dụng dỡ bỏ các sự kiện, bởi vì những kỹ thuật có thể (không chắc chắn nếu điều này xảy ra trong PhoneGap) cũng có thể được kích hoạt khi tải một trang web khác nhau, ví dụ đi index.html đến about.html bên trong ứng dụng PhoneGap của bạn.

Ít nhất đối với Android, bạn có quyền truy cập vào các sự kiện resumepause. Vì vậy, bạn có thể làm:

document.addEventListener('pause', function() { alert('this alert will show up in the background while your app is paused.'); }, false); 
document.addEventListener('resume', function() { alert('this alert will show up when you open the app back up.'); }, false); 
Các vấn đề liên quan