दिलचस्प पोस्ट
पैरामीटर में डबल उद्धरण बचें बिना प्रवेश टोकन के फेसबुक ग्राफ़ एपी का उपयोग करके सार्वजनिक पृष्ठ की स्थिति प्राप्त करें अधिसूचना पर क्लिक करने के बाद आवेदन खोलें पायथन में "निजी" (कार्यान्वयन) वर्ग अनुक्रमिक गिनती जेनरेटर (मैक) -बीश: __ जीआईटी_पीएस 1: कमांड नहीं मिला क्या HTTPS हेडर एन्क्रिप्ट किए गए हैं? "एबीसीडी" क्यों होता है .स्ट्रास्ट्स ("") सच कहां वापस आती हैं? एस 3 के माध्यम से अमेज़ॅन क्लाउडफ़्रॉक्ट से जीज़िपेड सीएसएस और जावास्क्रिप्ट की सेवा Android में TextView के नीचे एक रेखांकित करने के लिए एंड्रॉइड स्पिनर में केंद्र में देखें टेक्स्ट संरेखित करें मैं आरडीएफ में किसी रिश्ते के बारे में अतिरिक्त जानकारी (समय, संभावना) कैसे व्यक्त कर सकता हूं? psql: FATAL: उपयोगकर्ता प्रमाणीकरण उपयोगकर्ता "पोस्टग्रेज़" के लिए विफल हुआ Express.js में SSL / https को कैसे लागू करें PHP 5 सख्त मानकों त्रुटि अक्षम

स्क्रीन लॉक होने पर पता लगा रहा है

मुझे माफ कर दो, यह मुझे पागल कर रही है, और मैं अपने गुस्से से गुस्से से कुछ स्पष्ट करने की कोशिश करूँगा

मैंने यहां पर कुछ पदों को देखा है कि कैसे जांच करनी है कि स्क्रीन बंद है, लेकिन इसमें से कोई भी मेरे लिए काम नहीं कर रहा है यह सब पता लगाता है कि वास्तविक स्क्रीन बंद है या नहीं (अगर यह लॉक नहीं है)।

मेरे पास एक गेम है जिसमें संगीत नाटक करता है जब लॉक बटन दबाया जाता है, तो यह खेलना जारी रहता है। मैं मूल रूप से ऑन्स्टॉप में संगीत रोक रहा था, लेकिन लॉक होने के बाद एप्लिकेशन को पुनरारंभ किया जाएगा, इसलिए संगीत अंततः फिर से शुरू होगा।

फिर, मैंने कीबोर्डहैडेड | मैनिफेस्ट के लिए अभिविन्यास जोड़ा। ऐसा इसलिए है कि यह ऐप को पुनरारंभ नहीं करता है, लेकिन ऑनस्टॉप को अब कॉल करने के लिए प्रतीत नहीं होता है।

मैंने देखा है कि स्क्रीन चालू / बंद है, जो काम करता है, लेकिन मदद नहीं करता PowerManager का उपयोग करने की कोशिश की है। (मैं वहां रोकना संगीत प्राप्त कर सकता हूं, लेकिन जैसे ही आप लॉक बटन को फिर से मारते हैं, संगीत ठीक बैक अप ले जाता है)

वेब के समाधान से एकत्रित समाधान "स्क्रीन लॉक होने पर पता लगा रहा है"

एक बेहतर रास्ता है:

 KeyguardManager myKM = (KeyguardManager) context.getSystemService(Context.KEYGUARD_SERVICE); if( myKM.inKeyguardRestrictedInputMode()) { //it is locked } else { //it is not locked } 

प्रसारण के लिए कोई आवश्यकता नहीं है, प्राप्तकर्ता, अनुमतियां या कुछ समान।

नोट: यह तब काम नहीं करता जब उपयोगकर्ता ने सेटिंग्स में कोई भी स्क्रीन लॉक सेट नहीं किया है -> सुरक्षा -> स्क्रीनलाक -> कोई नहीं

मुझे इसका उत्तर देना बहुत देर हो गया। लेकिन यह लिंक दो चीजों के लिए एक जगह पर दूसरों के लिए सहायक हो सकता है।

जांचें कि डिवाइस लॉक है या नहीं:

 KeyguardManager myKM = (KeyguardManager) context.getSystemService(Context.KEYGUARD_SERVICE); boolean isPhoneLocked = myKM.inKeyguardRestrictedInputMode(); 

(नोट: screenlock settings-->security-->screenlock में none करने के लिए सेट है तो – ऊपर विधि काम नहीं करती है settings-->security-->screenlock ।)

यदि डिवाइस जागृत है या नींद मोड में है, तो जांचें: (एसडीके संस्करण के लिए> एल पूर्वावलोकन <Sdk संस्करण)

 PowerManager powerManager = (PowerManager)context.getSystemService(Context.POWER_SERVICE); isSceenAwake = (Build.VERSION.SDK_INT < 20? powerManager.isScreenOn():powerManager.isInteractive()); 

मैं यह सुझाव दूंगा:

 private void registerBroadcastReceiver() { final IntentFilter theFilter = new IntentFilter(); /** System Defined Broadcast */ theFilter.addAction(Intent.ACTION_SCREEN_ON); theFilter.addAction(Intent.ACTION_SCREEN_OFF); BroadcastReceiver screenOnOffReceiver = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { String strAction = intent.getAction(); KeyguardManager myKM = (KeyguardManager) context.getSystemService(Context.KEYGUARD_SERVICE); if (strAction.equals(Intent.ACTION_SCREEN_OFF) || strAction.equals(Intent.ACTION_SCREEN_ON)) { if( myKM.inKeyguardRestrictedInputMode()) { System.out.println("Screen off " + "LOCKED"); } else { System.out.println("Screen off " + "UNLOCKED"); } } } }; getApplicationContext().registerReceiver(screenOnOffReceiver, theFilter); } 

@ सहुल रोसेनज़वीग से ऊपर दिए गए उत्तर में स्क्रीन पर और ऑफ स्टेटस का पता लगाने के लिए अन्य पोस्ट उपलब्ध है। मैंने सैमसंग गैलेक्सी एस 4 मिनी पर इस समाधान का परीक्षण किया और मेरे लिए अच्छा काम किया।

ऊपर का समाधान सही है लेकिन जब मुझे आउटपुट मिलता है तो मुझे स्क्रीन बंद होने पर स्क्रीन बंद होने पर लॉक आउटपुट दिया और अनलॉक करने के लिए पैटर्न डालते समय स्क्रीन पर लॉक किया जाता था, लेकिन जब मैंने डिवाइस को अनलॉक करते हुए अनलॉक आउट नहीं दिया तो यहाँ मेरा समाधान है

 private void registerBroadcastReceiver() { final IntentFilter theFilter = new IntentFilter(); /** System Defined Broadcast */ theFilter.addAction(Intent.ACTION_SCREEN_ON); theFilter.addAction(Intent.ACTION_SCREEN_OFF); theFilter.addAction(Intent.ACTION_USER_PRESENT); BroadcastReceiver screenOnOffReceiver = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { String strAction = intent.getAction(); KeyguardManager myKM = (KeyguardManager) context.getSystemService(Context.KEYGUARD_SERVICE); if(strAction.equals(Intent.ACTION_USER_PRESENT) || strAction.equals(Intent.ACTION_SCREEN_OFF) || strAction.equals(Intent.ACTION_SCREEN_ON) ) if( myKM.inKeyguardRestrictedInputMode()) { System.out.println("Screen off " + "LOCKED"); } else { System.out.println("Screen off " + "UNLOCKED"); } } }; getApplicationContext().registerReceiver(screenOnOffReceiver, theFilter); } 

उसके बाद यह मुझे आउटपुट की तरह देगा

 I/System.out:LOCKED when i off the mobile screen I/System.out:LOCKED when i on the mobile screen I/System.out:UNLOCKED when i unlock the mobile after pattern lock