2010-10-18 20 views
10

भारी उपयोगकर्ता शिकायतों के कारण मैंने अपने एंड्रॉइड एप्लिकेशन के उपयोगकर्ताओं को the official documentation के अनुसार इसे एसडी कार्ड में स्थानांतरित करने की अनुमति देने का निर्णय लिया है। हालांकि, मेरे आवेदन की मूल विशेषता के लिए पृष्ठभूमि सेवा की लगातार आवश्यकता होती है। जब कोई व्यक्ति जो अपना ऐप अपने एसडी कार्ड में ले जाता है, तो किसी भी कारण से उनके एसडी कार्ड की माउंट करता है, मेरी पृष्ठभूमि सेवा मारे जायेगी।एसडी कार्ड पर ऐप के लिए सेवा पुनरारंभ करें जब एसडी कार्ड को

बस इतना ही मेरे द्वारा ठीक है, जब तक कि मैं पहली बार उपलब्ध अवसर पर सेवा को पुनः आरंभ कर सकते हैं। दुर्भाग्य से, यह दावा करते हुए मुझे लगता है कि झंडा ही है, this newsgroup discussion, और अपने खुद के परीक्षण के लिए जब एसडी कार्ड स्थानीय स्तर पर remounted है पता लगाने के लिए, प्रलेखन प्रसारण आशय ACTION_EXTERNAL_APPLICATIONS_AVAILABLE उपयोग कर सकते हैं install-location गाइड के बावजूद बताते हैं कि इस प्रसारण अनुप्रयोगों जो उपलब्ध होने के लिए नहीं सौंपा जाता है । केवल उन अनुप्रयोगों को जिन्हें एसडी कार्ड में स्थानांतरित नहीं किया गया है, प्रसारण उद्देश्य प्राप्त करते हैं।

वहाँ के बाद एसडी कार्ड remounted है मेरी एप्लिकेशन खोलने के लिए उपयोगकर्ता का इंतजार किए बिना मेरी पृष्ठभूमि सेवा को पुनः आरंभ करने कोई तरीका है?

+0

अरे एलेक्स, मैं एक ही समस्या का सामना करना पड़ रहा है। पृष्ठभूमि में अपनी सेवा को पुनरारंभ करने के लिए आपने कैसे प्रबंधित किया? – Spynet

उत्तर

7

नहीं मज़बूती से। आप अनुमति-कम प्रसारण Intents (जैसे, ACTION_SCREEN_OFF) है कि अंततः आग और उस तरह से नियंत्रित कर मिलना चाहिए में हुक कर सकते हैं। जैसा सुश्री हैकबर्न इंगित करता है, सही उत्तर ACTION_EXTERNAL_APPLICATIONS_AVAILABLE के लिए तय किया जाना है। बाहरी अनुप्रयोग उपलब्ध होने के बाद भी आप देख सकते हैं कि कुछ एसडी कार्ड से संबंधित प्रसारण होता है (उदाहरण के लिए, ACTION_MEDIA_MOUNTED), हालांकि मैं उम्मीद करता हूं कि बाहरी एप्लिकेशन उपलब्ध होने से पहले उन सभी को पारित किया जाएगा।

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