जैसा कि here बताया गया है, जब स्क्रीन बंद हो जाती है, तो वर्तमान गतिविधि के onStop()
को कॉल किया जाएगा। मेरे Activity
के onStop()
को कॉल करने पर मुझे स्क्रीन चालू/बंद स्थिति की जांच करने की आवश्यकता है। इसलिए मैंने इन क्रियाओं के लिए BroadcastReceiver
पंजीकृत किया है (ACTION_SCREEN_ON
और ACTION_SCREEN_OFF
) वर्तमान चालू/बंद स्थिति रिकॉर्ड करने के लिए (और वे ठीक से काम करते हैं, मैंने लॉग किया है!)।
लेकिन जब मैं स्क्रीन बंद कर देता हूं और onStop
में चालू/बंद स्थिति की जांच करता हूं, तो यह कहता है कि स्क्रीन चालू है। क्यूं कर? मुझे लगता है कि onStop
से पहले रिसीवर को ACTION_SCREEN_OFF
प्राप्त करना होगा, तो क्या गलत है?ऑनस्टॉप() में स्क्रीन चालू/बंद स्थिति को कैसे जांचें?
उत्तर
आप इस उद्देश्य के लिए PowerManager प्रणाली सेवा का उपयोग करने की कोशिश कर सकते यहाँ उदाहरण और official documentation (इस विधि ध्यान दें API स्तर 7 में जोड़ा गया) है:
PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
boolean isScreenOn = pm.isScreenOn();
संपादित करें:
isScreenOn() विधि अब मान्य नहीं है एपीआई स्तर 21. आप isInteractive बजाय का उपयोग करना चाहिए:
boolean isScreenOn = pm.isInteractive();
http://developer.android.com/reference/android/os/PowerManager.html#isInteractive()
उत्कृष्ट अलेक्जेंडर! जिस समय मैं चाहता था उस समय 'ब्रॉडकास्ट रिसीवर' को क्रियाएं नहीं मिलीं लेकिन इसने इसे बनाया :) – Soheil
'pm.isScreenOn()' बहिष्कृत है। –
@SuperThomasLab इसके बजाय क्या उपयोग करें? –
- 1. माइग्रेशन स्थिति कैसे जांचें?
- 2. एंड्रॉइड - ऑनस्टॉप() को देरी
- 3. ईएल में एक बूलियन स्थिति कैसे जांचें?
- 4. स्क्रीन को कुछ स्थिति पर ले जाएं
- 5. जांचें कि स्क्रॉलव्यू स्क्रीन/स्क्रोल करने योग्य
- 6. स्थिति स्क्रीन आकार
- 7. GlobalSettings.onStart और ऑनस्टॉप
- 8. जीएनयू स्क्रीन: वर्तमान स्क्रॉलबैक मूल्य को कैसे जांचें?
- 9. वर्तमान धागे की अपार्टमेंट स्थिति कैसे जांचें?
- 10. QtWebkit: HTTP स्थिति कोड कैसे जांचें?
- 11. x86 असेंबली में कुंजी की स्थिति कैसे जांचें?
- 12. स्क्रीन को कैसे ढूंढें एंड्रॉइड
- 13. जांचें कि ऑनसाइट को उपयोगकर्ता इंटरैक्शन से कहा जाता है, या स्क्रीन डमीिंग
- 14. Android में HDMI डिवाइस कनेक्शन स्थिति कैसे जांचें?
- 15. एंड्रॉइड: श्रोता - ऑनस्टॉप() या ऑनस्ट्रोय()
- 16. डब्ल्यूपीएफ में स्क्रीन पर माउस की स्थिति कैसे प्राप्त करें?
- 17. ऑनस्टॉप() जब मैं बैक बटन
- 18. jQuery जांचें कि ब्राउज़र समर्थन स्थिति: निश्चित
- 19. एमवीसी रेजर - स्क्रीन पर स्थिति को आउटपुट करना
- 20. स्क्रीन पर एक विंडो को स्थिति देने के लिए कक्षा
- 21. सीएसएस स्थिति: पूर्ण स्क्रीन रिज़ॉल्यूशन समस्या
- 22. स्क्रीन पर एक विंडो की स्थिति
- 23. एंड्रॉइड: ऑनस्टार्ट(), ऑनस्टॉप() पर कब उपयोग करें?
- 24. सीएसएस: स्क्रीन के केंद्र में स्थिति लोडिंग सूचक
- 25. स्क्रैप और प्रतिक्रिया स्थिति कोड: इसके खिलाफ कैसे जांचें?
- 26. सी # स्क्रीन पर नियंत्रण की पूर्ण स्थिति
- 27. मैं वर्तमान स्क्रीन कर्सर स्थिति कैसे प्राप्त करूं?
- 28. लॉक स्क्रीन/नियंत्रण केंद्र पर ट्रैक स्थिति कैसे बदलें?
- 29. कमांड लाइन से स्पार्क अनुप्रयोगों की स्थिति कैसे जांचें?
- 30. CSS3-3d रूपांतरित तत्वों की स्क्रीन स्थिति कैसे प्राप्त करें?
"मुझे लगता है कि रिसीवर को STION कहने से पहले ACTION_SCREEN_OFF प्राप्त करना होगा, तो क्या गलत है?" - मुझे नहीं पता कि आप इसे क्यों मानेंगे। 'लॉग' कथन, या ब्रेकपॉइंट्स का उपयोग करें, यह देखने के लिए कि पहले कौन कहा जाता है। बेहतर अभी तक, किसी भी अन्य कारण की तुलना में, 'ऑनस्टॉप() 'को कॉल किया जा रहा है, इस पर ध्यान देने के लिए अपने ऐप को फिर से डिज़ाइन करें। – CommonsWare
@CommonsWare ऐप उन स्थितियों के बीच भिन्न होना चाहिए जो उन पर 'ऑनस्टॉप' कहलाते हैं, इसलिए मुझे पता होना चाहिए कि स्क्रीन बंद करने से 'ऑनटॉप' कहलाया जा सकता है या दूसरी चीज है। कोई बेहतर समाधान? – Soheil
"ऐप उन स्थितियों के बीच भिन्न होना चाहिए जो उन पर रोक दिया जाता है" - क्यों? यह आपके ऐप में क्या फर्क पड़ता है कि स्क्रीन बंद है या उपयोगकर्ता ने HOME दबाया है, या उपयोगकर्ता ने दबाया है, या उपयोगकर्ता ने आने वाली फोन कॉल या उपयोगकर्ता को अधिसूचना पर टैप किया है, या उपयोगकर्ता ने कुछ और किया है जिससे आपकी गतिविधि अब दिखाई नहीं दे रही है? स्क्रीन बंद करना सामान्य रूप से एक विशेष मामला नहीं है। – CommonsWare