2011-08-05 8 views
10

मैं अपना वर्तमान स्थान प्रत्येक 5 मिनट के बाद PHP वेब सेवा में भेजना चाहता हूं भले ही मेरा एप्लिकेशन पृष्ठभूमि में चल रहा हो। मैं यह काम करने की कोशिश करता हूं लेकिन जब मेरा आवेदन राज्य चलाने में अच्छा होता है लेकिन जब मैं इस एप्लिकेशन को पृष्ठभूमि में डालता हूं तो यह डेटा भेजना बंद कर देता है, इसलिए कृपया कोई दोस्त बताएं कि मैं पृष्ठभूमि में अपना एप्लिकेशन कैसे चला सकता हूं।मैं अपने जीपीएस एप्लिकेशन को पृष्ठभूमि में कैसे चला सकता हूं?

उत्तर

8

"पृष्ठभूमि में चलने" से, क्या आपका मतलब लॉक स्क्रीन के नीचे चलने का मतलब है? यदि ऐसा है, तो आपको PhoneApplicationService.Current.ApplicationIdleDetectionMode = IdleDetectionMode.Disabled;

पोस्ट Running a Windows Phone Application under the lock screen जैम रोड्रिगेज द्वारा पोस्ट विषय को अच्छी तरह से स्थापित करने की आवश्यकता है।

हालांकि, यदि आप डिवाइस पर अन्य अनुप्रयोगों का उपयोग करते समय चल रहे किसी भी एप्लिकेशन को चलाने के बारे में बात कर रहे हैं, तो यह संभव नहीं है। मैंगो ऑपरेटिंग सिस्टम के निर्माण में आप पृष्ठभूमि एजेंट बना सकते हैं, लेकिन ये केवल हर 30 मिनट में चलते हैं और केवल 15 सेकंड के लिए MSDN पर वर्णित हैं।

विंडोज फोन विकास के लिए आधिकारिक उपयोगकर्तावॉइस मंच पर Provide an agent to track routes पर एक अनुरोध है, लेकिन यदि इसे अपनाया गया है, तो यह काफी समय तक उपलब्ध नहीं होगा।

+0

जैसा कि कहा गया है, आम में, आप पृष्ठभूमि कार्य से स्थान सेवाओं तक पहुंच सकते हैं लेकिन स्थान कैश किया गया है और केवल 15 मिनट अपडेट किया गया है। –

+0

और आम का आरटीएम रिसोर्सइन्टेंशियल टास्क का समर्थन करता है जो वादा करता है लेकिन बेकार हो जाता है। –

4

ट्रैकिंग अनुप्रयोगों में से एक है जो मैं जीवित रहने के लिए करता हूं, और इस तरह WP7 का उपयोग करने की संभावना प्राथमिक कारण है जिसे मैंने हासिल किया है।

बिजली की खपत परिप्रेक्ष्य से, डेटा संचारित करना एक सबसे महंगी चीज है जो आप कर सकते हैं, जीपीएस और एक्सेलेरोमीटर का नमूनाकरण करके बारीकी से पालन किया जाता है।

एक ट्रेस का उत्पादन करने के लिए जो सड़कों पर बारीकी से अनुरूप है, आपको उच्च नमूना दर की आवश्यकता है। WP7 आपको प्रति सेकंड एक से अधिक बार नमूना नहीं देगा। यह एक मोटर वाहन को ट्रैक करने के लिए पर्याप्त तेज़ (केवल मुश्किल) है, और बिजली की खपत के इस स्तर पर बैटरी लगभग एक घंटे तक चली जाएगी, यह मानते हुए कि आप फोन पर डेटा लॉग करते हैं और इसे प्रेषित करने का प्रयास नहीं करते हैं।

आप यह भी पाएंगे कि यदि आप प्रत्येक नमूने के लिए संचारित करते हैं, तो आपका नमूना अंतराल कम से कम 15 सेकंड होगा। किसी अन्य धागे पर वेब कॉल चलाने से मदद नहीं मिलेगी क्योंकि इसे पूरा करने में एक से अधिक सेकंड लगेंगे और आप एक सेकंड से भी कम समय में एक दूसरे नमूना अंतराल के साथ सॉकेट से बाहर चले जाएंगे।

इन सभी समस्याओं के समाधान हैं। उदाहरण के लिए, एक मोटर वाहन में आप वाहन की शक्ति से कनेक्ट हो सकते हैं और गर्म चल सकते हैं। आप पृष्ठभूमि डेटा पर अपने डेटा को बैच और फट सकते हैं।

हालांकि, ये केवल हर ट्रैकर डिजाइनर द्वारा सामना की जाने वाली मूलभूत समस्याएं हैं। अंतरिक्ष और समय में निकटता के प्रश्न, मार्ग से विचलन का माप, मार्गों और भूगर्भों को समय-समय पर कैसे निर्दिष्ट किया जाए, उन्हें नियम मूल्यांकन उद्देश्यों के लिए नामित सेटों में कैसे जोड़ना है और नामित सेट के साथ नियमों को कैसे जोड़ना है मार्गों और geofences के।

और फिर आवधिक क्लस्टरिंग है, जो सभी कैलेंड्रल दुःस्वप्न पेश करती है जो डेस्कटॉप सॉफ़्टवेयर के आपके औसत डेवलपर के लिए बहुत अधिक हैं। स्कूल क्षेत्र के लिए गति सीमा लागू करने के लिए आपको उस क्षेत्र में स्कूल की छुट्टियों के लिए समय क्षेत्र, डेलाइट बचत, दो प्रारंभ और दो स्टॉप बार और स्कूल की छुट्टियों के लिए प्रारंभ और समाप्ति तिथियां जाननी होंगी।

यदि आप इसे मजेदार बनाने के लिए कर रहे हैं या किसी प्रकार के हाइकिंग ट्रेस के रूप में कर रहे हैं तो पांच मिनट का अंतराल एक दूसरे नमूने की तुलना में बहुत हल्की बिजली की मांग लगाएगा, लेकिन मैं अभी भी बैच और फट का सुझाव देता हूं क्योंकि इसका मतलब है कि आप उन स्थानों को ट्रैक कर सकते हैं comms नहीं है।

संबंधित मुद्दे

 संबंधित मुद्दे