मैंने एंड्रॉइड सेवा के आसपास बहुत कुछ पढ़ा है। मैं समझता हूँ के रूप में, जीवन चक्र है:क्यों कोई सेवा.ऑनटॉप विधि नहीं?
void onCreate()
void onStart(Intent intent)
...
void onDestroy()
http://www.linuxtopia.org/online_books/android/devguide/guide/topics/fundamentals.html
लेकिन कोई onStop तरीका है। सवाल:
- क्यों वहाँ एक को रोकने तरीका नहीं है?
- क्या होता है जब मेरी सेवा पर स्टॉप सेवा अनुरोध किया जाता है? (बाहर से, शायद एंड्रॉइड द्वारा ही)। क्या मैं इस घटना का पता लगा सकता हूं?
- मैं प्रसंस्करण (या कम से कम सत्यापित) करना चाहता हूं कि मेरी सेवा एक प्रक्रिया के भीतर एक सिंगलटन है। मैं यह कैसे कर सकता हूं (या एंड्रॉइड दृश्यों के पीछे इसे लागू करता है)?
संदर्भ के लिए, मेरे पास कुछ संसाधन हैं जो सेवा चल रहा है ("शुरूआत" में) आवंटित और रिलीज़ करना चाहते हैं, और संसाधनों का एक और समूह मैं सेवा आवंटित करना और रिलीज़ करना चाहता हूं एक "बनाया" राज्य है।
ध्यान रखें कि यदि आप BIND_AUTO_CREATE के साथ बाइंड सेवा को कॉल करते हैं, तो ऑनस्ट्रो() को तब तक नहीं बुलाया जाएगा जब तक कि आप – aaronvargas
को अनबिंड नहीं करते हैं, मैंने देखा कि डिवाइस पर बंद होने पर ऑनडस्ट्राय() 'को कॉल नहीं किया जाता है। क्या कोई अन्य कॉलबैक है जिसे उस मामले में ओवरराइड किया जा सकता है? – fiddler
@ फिडलर: इस बात की कोई गारंटी नहीं है कि कुछ मामलों में 'फोर्स स्टॉप, आपका ऐप क्रैश, सिस्टम रैम की आपातकालीन आवश्यकता), केवल बिजली पर नहीं, बल्कि ऑनड्रॉयय() 'कहा जाएगा। एंड्रॉइड सिर्फ आपकी प्रक्रिया को समाप्त करने के लिए कोई कॉलबैक नहीं है। * विशेष रूप से * शक्ति के संबंध में, आप ['ACTION_SHUTDOWN'] (https://developer.android.com/reference/android/content/Intent.html#ACTION_SHUTDOWN) के लिए' BroadcastReceiver' को पंजीकृत करने का प्रयास कर सकते हैं, लेकिन मैं चाहता हूं महत्वपूर्ण कुछ भी करने के लिए समय पर भरोसा नहीं है। – CommonsWare