2012-11-16 10 views
7

मेरा ऐप, लॉक स्क्रीन से पहले उपयोगकर्ता को एक संवाद बॉक्स दिखाता है। यह एक साधारण गतिविधि है जिसमें डायलॉगफ्रेगमेंट्स (समर्थन लाइब्रेरी से यह ऐप 2.2+ पर चलता है)।एंड्रॉइड की फ्लोटिंग विंडो FLAG_SHOW_WHEN_LOCKED के साथ मिलती है

के बाद से वास्तविक गतिविधि है कि उन संवादों दिखाया गया एंड्रॉयड के मानकों के अनुसार एक अस्थायी खिड़की नहीं था,

getWindow().addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED); 

ठीक काम किया।

हालांकि, मैं सोच रहा था कि मैं ऐसी गतिविधि का उपयोग करूंगा जो इसके बजाय संवाद की तरह दिखता है।

<item name="android:windowIsFloating">true</item> 

यह किसी कारण से खिड़की झंडा पूरी तरह से नजरअंदाज किया जा करने के लिए कारण बनता है: सभी संवाद विषयों (Holo, आदि) है, हालांकि, यह आइटम है। दिलचस्प बात यह है कि उपयोगकर्ता स्क्रीन को अनलॉक करने के बाद गतिविधि दिखाता है।

ऐसा क्यों होगा, और इसके आसपास कोई रास्ता है?

+1

ही समस्या से पीड़ित ... आप किसी भी काम arounds खोजने में सफल रहे ? –

+0

मैं एक ऐसी गतिविधि के साथ चिपक गया जो एक गैर रद्द करने योग्य संवाद शुरू करता है और पूरी तरह से मेरे ऐप से बाहर निकलने वाले कीगार्ड को छोड़ देता है। –

+0

एक ही समस्या है, मैं लॉक स्क्रीन पर "ट्रांसपरेंट" गतिविधि दिखाना चाहता हूं, लेकिन संभव नहीं है –

उत्तर

4

एक ही मुद्दे से पीड़ित। केवल एक चीज है इस मुद्दे में काम करने के लिए लगता है कि

KeyguardManager myKeyGuard = (KeyguardManager)getSystemService(Context.KEYGUARD_SERVICE); 
myLock = myKeyGuard.newKeyguardLock("tagName"); 
myLock.disableKeyguard(); 

न प्रकट में कीगार्ड अनुमति का उपयोग करने के लिए मत भूलना है:

<uses-permission android:name = "android.permission.DISABLE_KEYGUARD"/> 
+3

यह एक बहिष्कृत एपीआई है, लेकिन यह कुछ हद तक काम करता है, इसलिए इसे लगातार परिणाम प्राप्त करने के लिए अभी भी कुछ काम की ज़रूरत है। हालांकि, ऐसा लगता है कि हम सबसे अच्छा कर सकते हैं। –

+1

बहुत उपयोगी उत्तर। यह कितना शर्म की बात है कि इसे बहिष्कृत किया गया है क्योंकि आप जो चाहते हैं उसे करने का 'बेहतर' तरीका है, केवल 'बेहतर' तरीका हर मामले में काम नहीं करता है जो 'बदतर' तरीका करता है। – user1445967

+1

किसी को भी उपयोग करने के लिए एक बेहतर समाधान मिल गया? यह समाधान स्क्रीन अनलॉक करता है, मैं स्क्रीन को लॉक रखना चाहता हूं और व्हाट्सएप संदेश जैसे संवाद प्रदर्शित करना चाहता हूं। ऐसा लगता है कि यह संभव है क्योंकि व्हाट्सएप में ऐसा है –

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