2012-08-05 16 views
6

मैं एक ऐसी गतिविधि शुरू करने में सक्षम होना चाहता हूं जो डिवाइस को लॉक होने पर मेरे ऐप का हिस्सा न हो। अगर यह भी संभव हो तो मैं यह कैसे कर सकता हूं?फोन लॉक होने पर बाहरी गतिविधि शुरू करें

नोट: मुझे getWindow().addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED); को मेरी गतिविधि के onCreate में डालने के बारे में अच्छी जानकारी है। यह काम नहीं करेगा, हालांकि, क्योंकि मैं अपनी गतिविधि शुरू नहीं कर रहा हूं, लेकिन मेरे ऐप के बाहर एक तीसरी पार्टी है।

+0

आपको ऐसा करने की आवश्यकता क्यों है? –

+0

क्या आप फोन को अनलॉक करना चाहते हैं और गतिविधि को दिखाना चाहते हैं या इसे पृष्ठभूमि में लॉन्च करना चाहते हैं और जब तक उपयोगकर्ता फोन को अनलॉक नहीं करता तब तक प्रतीक्षा करें? – Erol

+0

फ़ोन लॉक रहेगा, क्योंकि यह पासवर्ड सुरक्षित है। लेकिन मैं अग्रभूमि में लॉक स्क्रीन (लॉक स्क्रीन के सामने) लॉन्च करना चाहता हूं – Jakar

उत्तर

1

अगर आप किसी भी शुरू करने की कोशिश कर रहे हैं यह काम नहीं करेगा लॉक स्क्रीन पर तीसरे पक्ष के ऐप। जैसा कि आपने स्वयं को देखा है, आपको यह सुनिश्चित करने के लिए विंडो ध्वज सेट करने की आवश्यकता है कि लॉक स्क्रीन पर गतिविधि लॉन्च हो जाए, यह सुनिश्चित करने का कोई तरीका नहीं है कि अन्य तृतीय पक्ष ऐप की गतिविधि भी एक ही ध्वज सेट कर रहे हों।

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

1

ओवरराइड समारोह

public void onAttachedToWindow() { 

    this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD); 
    super.onAttachedToWindow(); 
} 

इस अनलॉक के बाद दिखाई अपनी गतिविधि लाएगा।

+0

अगर मुझे गलत नहीं लगता है, तो यह मेरी गतिविधि को अग्रभूमि में लाएगा, जिसे मैंने पहले ही हल कर लिया था। मेरे प्रश्न में ** नोट ** देखें। मुझे किसी तृतीय-पक्ष ऐप पर सक्रियता शुरू करने की आवश्यकता है और इसे अग्रभूमि (लॉक स्क्रीन के सामने) में लाएं। – Jakar

1

यह केवल तभी संभव है जब वास्तविक डेवलपर ने आपके एप के भीतर से जिस गतिविधि को खोलने की कोशिश कर रहे हैं उसमें onAttachedToWindow() विधि को ओवरराइड करके कोड लिखा है।

यदि नहीं, तो, माफ करना कहने के लिए है, लेकिन आप (के रूप में हाल ही में एपीआई चला जाता है जहाँ तक) तुम क्या करने कोशिश कर रहे हैं करने के लिए कोई विकल्प नहीं है

+0

डाउनवॉटिंग के लिए कोई कारण? –