2012-03-14 17 views
7

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

मैंने ऑनस्ट्रॉय या सेवाओं के शटडाउन भागों से ईवेंट को ट्रिगर करने का प्रयास किया है, लेकिन फोन रिपोर्ट करने के लिए समय देने के बिना बंद हो जाएगा।

गतिविधि स्क्रीन के आधार पर कई छोटे सत्रों को बनाकर इसके आसपास काम करना गैर-संवेदी एनालिटिक्स जानकारी उत्पन्न करता है जिसे मैं टालना चाहता हूं।

उत्तर

8

ACTION_SHUTDOWN इरादे को पकड़ने पर एक प्रसारण रिसीवर बनाएं।

ऑनरसीव() विधि में आप जो भी करने की कोशिश कर रहे हैं उसे पूरा कर सकते हैं।

http://developer.android.com/reference/android/content/Intent.html#ACTION_SHUTDOWN

+1

मेरे पास यह है और यह सभी परीक्षणों को पार कर चुका है। –

+1

@TimCapes सुनने के लिए बहुत बढ़िया! एंड्रॉइड फेंकता है कि इतने सारे इरादे हैं। अपने डेटा संग्रह में सहायता के लिए आप फोन चालू होने पर अपना एप्लिकेशन शुरू करने के लिए BOOT_COMPLETE एक्शन इरादा पकड़ सकते हैं;) – jjNford

+0

रीबूट पर सेवा लॉन्च करने के लिए पहले से ही ऐसा कर रहा है, लेकिन इसका उल्लेख करने के लिए धन्यवाद। –

3

आप एक Shutwdown हुक Runitme addShutdownHook(Thread hook) पद्धति का उपयोग करके पंजीकृत करने का प्रयास कर सकता है।

Aditionally विधि संदर्भ कहता है:

runFinalizersOnExit (बुलियन) एक सच्चे तर्क के साथ कॉल किया गया है, कचरा संग्रहण और अंतिम रूप दिए जाने जगह सब हुक के बाद ले जाएगा या तो कार्य पूरा हो जाएगा या विफल रहे हैं। फिर वीएम समाप्त हो जाता है।

तो, सैद्धांतिक रूप से वीएम अपने धागा खत्म जब तक समाप्त नहीं होंगे।

+1

इस विचार के लिए धन्यवाद, इसमें कुछ संभावित है। हालांकि, जब वीएम वास्तव में शटडाउन हो जाता है, और जब अन्य घटनाएं होती हैं तो दस्तावेज़ीकरण अधिक स्पष्ट होता है। मुझे लगता है कि अस्पष्ट दस्तावेज दिया गया है, मैं कार्रवाई बंद करने को पकड़ने से बेहतर हूं। अगर मैं प्रसारण रिसीवर दृष्टिकोण के साथ किसी भी मुद्दे में भाग लेता हूं तो मैं इसे ध्यान में रखूंगा। –

+1

@ टिमकैप्स आप सही हैं, इस मामले पर डॉक्टर काफी अस्पष्ट है। –

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