2011-03-30 17 views
8

पूर्वावलोकन मोड में ("सेटिंग्स" और "सेट .." वाली स्क्रीन) में मुझे अलग-अलग कार्य करने के लिए अपने वॉलपेपर की आवश्यकता है। मुझे कैसे पता चलेगा कि यह कब खींचा गया है?लाइव वॉलपेपर

उत्तर

13

onCreateEngine() के भीतर आप isPreview() विधि का उपयोग कर सकते हैं।

ध्यान दें कि onCreateEngine() "सामान्यतः" दो बार बुलाया जाता है: एक बार पूर्वावलोकन के लिए एक उदाहरण बनाने के लिए, और फिर जब आप वास्तव में वॉलपेपर सेट करते हैं।

यहाँ विवरण: http://developer.android.com/reference/android/service/wallpaper/WallpaperService.Engine.html

+0

बस यह सुनिश्चित करने के लिए, क्या दोनों इंजन एक साथ चल रहे हैं, या पहले के बाद बंद होने पर सेकंड 'क्रिएटइंजिन()' कॉल है? मैं पूछ रहा हूं क्योंकि मेरी वरीयता परिवर्तन घटना दो बार फायरिंग कर रही है। –

+0

@ ruud-lenders उत्तर देने में इतनी धीमी गति से खेद है, लेकिन मैंने अब के लिए प्रोग्रामिंग छोड़ी है, और अक्सर इस साइट को चेक न करें। मेरा अनुमान है कि दूसरा बनाया गया है इससे पहले कि दूसरा बनाया गया है, ताकि स्मृति को दोगुना नहीं किया जा सके, लेकिन यह सिर्फ एक अनुमान है। शायद, अगर आप अभी भी इस क्षेत्र में काम कर रहे हैं, तो आप जांच कर सकते हैं और अपने निष्कर्षों की रिपोर्ट करने के लिए एक और टिप्पणी जोड़ सकते हैं। इस जवाब में नौ अपवॉट प्राप्त हुए हैं, इसलिए स्पष्ट रूप से यह एक मुद्दा है जो दूसरों का भी सामना करता है। आप के लिए सबसे अच्छा भाग्य :-) जॉर्ज –

2

isPreview() पद्धति लागू इंजन के onCreate(SurfaceHolder holder) विधि में कहा जा सकता है। onCreateEngine विधि में पूर्व उत्तर के रूप में नहीं है क्योंकि विधि तैयार नहीं है।

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