2011-08-26 26 views
13

मैं एक सेवा शुरू करना चाहता हूं जब मेरा एप्लिकेशन किसी भी घटक से शुरू होता है।क्या मैं एप्लिकेशन # ऑनक्रेट() से सेवा शुरू कर सकता हूं?

public class MyApplication extends Application { 
    @Override 
    public void onCreate() { 
     super.onCreate(); 
     startService(new Intent(getApplicationContext(), MyService.class)); 
    } 
} 

क्या सेवा onCreate() राज्य में उपलब्ध है? super.onCreate() AndroidManifest.xml में पंजीकृत किसी एप्लिकेशन के सभी घटकों को प्रारंभ करेगा?

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

+0

इस मामले में हम सेवा ऑब्जेक्ट को एप्लिकेशन में वापस कैसे प्राप्त कर सकते हैं ... और कहां से बाइंड कहा जाता है? – aProgrammer

उत्तर

8

हां, आप onCreate() में जिस तरह से कर रहे हैं, उसमें आप एक सेवा शुरू कर सकते हैं। इस बात की कोई गारंटी नहीं है कि सेवा सफलतापूर्वक शुरू होगी - जब तक कि डिवाइस डिवाइस पर मौजूद है और यह चलाने में सक्षम है, यह होगा। super.onCreate() कोई भी तैयारी नहीं करता है जो आपके आवेदन के भीतर से सेवा शुरू करने के लिए आवश्यक है। आपका क्या मतलब है "क्या सेवा ऑनक्रेट() राज्य में उपलब्ध है?

+0

सेवा मेरे ऐप से है, इसलिए यह निश्चित रूप से मौजूद है। "क्या सेवा ऑनक्रेट() राज्य में उपलब्ध है", मेरा मतलब है कि सेवा एप्लिकेशन # पर शुरू करने के लिए तैयार है (क्रिएट() (गतिविधि # ऑन क्रिएट() नहीं)। –

+1

सेवा शुरू करने के लिए तैयार हो जाएगी। शुरू करने के लिए सेवा उपलब्ध होने से पहले क्रिएट को चलाने की आवश्यकता नहीं है (यानी ऑनक्रेट आपके आवेदन से सेवा लोड करने के लिए आवश्यक क्लास लोडिंग नहीं करता है)। –

0

संक्षेप में, Context.startService() लेकिन डॉक्टर यह भी कहता है कि यदि यह शून्य हो जाता है तो सेवा उपलब्ध नहीं है।

यदि सेवा शुरू हो रही है या पहले से चल रही है, तो प्रारंभ की गई वास्तविक सेवा का घटक नाम वापस कर दिया गया है; बाकी यदि सेवा अशक्त मौजूद नहीं है लौटा दिया जाता है

यह API उपकरणों के बीच अलग-अलग करने के लिए, ताकि आप एमुलेटर और उपकरणों आप पर सामना कर रहे हैं में विश्वास कर सकते हैं मतलब नहीं है। ऑन चेतावनी को याद रखना है कि संसाधनों के "बहुत सारे" की आवश्यकता अलग-अलग हो सकती है, यानी सीपीयू समय या स्मृति, आदि

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

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