2011-01-13 7 views
10

मैं एक क्रॉस-डिवाइस मोबाइल एप्लिकेशन के लिए jQueryMobile और phoneGap का उपयोग कर रहा हूं। मैं उपयोगकर्ता द्वारा काम किए गए रिकॉर्ड जारी रखने के लिए एचटीएमएल 5 स्थानीय भंडारण का उपयोग करता हूं।एप्लिकेशन को बंद करने के लिए कौन सी घटना बंद है?

मुझे नहीं पता कि कौन सा फोनगैप ईवेंट एप्लिकेशन बंद होने से पहले पकड़ने के लिए है ताकि मैं सुनिश्चित कर सकूं कि शटडाउन पूर्ण होने से पहले डेटा सहेजा जा सके।

नॉटूर से सुझाव पर आधार, मैंने अनलोड और पहले से लोड की गई घटनाओं दोनों की कोशिश की, उनमें से कोई भी ऐप शटडाउन के दौरान निकाल दिया गया। बाद मेरी कोड स्निप है:

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

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

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

कि दिलचस्प है। अनलोड करें और ईवेंट को पहले से लोड करें और वापस पोस्ट करें कि वे काम करते हैं या नहीं। यदि नहीं - हमें फोनगैप एपीआई – naugtur

+0

में खोदना होगा धन्यवाद naugtur! मैंने कुछ जवाब स्वीकार कर लिए थे, लेकिन प्रतिशत उन्हें प्रतिबिंबित नहीं करता है। लेकिन फिर भी धन्यवाद!! – xueru

+0

दोनों अनलोड और पहले से लोड करने का प्रयास किया, उनमें से कोई भी आवेदन बंद होने के दौरान निकाल दिया गया। – xueru

उत्तर

7

मैं नहीं 100% की घटनाओं उतारना उपयोग के बारे में यकीन है, क्योंकि उन तकनीकी रूप से कर सकता है (यकीन नहीं इस PhoneGap में होता है अगर) भी निकाल दिया जा जब, एक अलग वेब पेज लोड हो रहा है यानी जा रहा index.html को अपने फोन गैप ऐप के अंदर about.html पर।

कम से कम एंड्रॉइड के लिए, आपके पास resume और pause ईवेंट तक पहुंच है। तो अगर आप कर सकते हैं:

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); 
संबंधित मुद्दे