2011-01-13 27 views
10

Cihazlar arası mobil uygulama için jQueryMobile ve phoneGap kullanıyorum. Kullanıcı tarafından çalışan kayıtları devam ettirmek için html 5 yerel depolama alanını kullanıyorum.Uygulama için hangi etkinlik kapanacak?

Uygulamanın kapatılmasından hemen önce hangi phoneGap olayının yakalanacağını bilmiyorum, böylece kapatmanın tamamlanmasından önce verilerin kaydedildiğinden emin olabilirim.

Naughtur'un önerisine dayanarak, hem yükleme hem de yükleme öncesi etkinlikleri denedim, uygulama kapatma sırasında ikisi de tetiklenmedi. Aşağıdaki kodum kesik: Ben, olayları boşaltmak kullanma konusunda% 100 emin değilim

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

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

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

. Olayları boşaltmayı ve ön yüklemeyi deneyin ve çalışıp çalışmadıklarını geri gönderin. Değilse - biz telefon kazmak zorunda kalacağız apis – naugtur

+0

Teşekkürler naugtur! Bazı cevapları kabul etmiştim, ancak yüzde onları yansıtmıyor gibi görünüyor. Yinede teşekkürler!! – xueru

+0

Her iki boşaltma ve ön yüklemeyi denediniz, ikisi de uygulama sırasında yakılmadı. – xueru

cevap

7

çünkü bu teknik olarak olabilir, yani farklı bir web sayfası yüklenirken geçerken de ateş (bu PhoneGap olur emin değilim) PhoneGap uygulamanızın içinden index.html - about.html.

En azından Android için, resume ve pause olaylarına erişiminiz vardır. Yani yapabilirsiniz:

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); 
İlgili konular