दिलचस्प पोस्ट
सत्र के बीच अंतर क्या है। मेर्ज और सत्र। सहेजें ऑरअपडेट? 3 डी मॉर्टन नंबर की गणना कैसे करें (3 इनट्स के बिट्स को दबाना) HTTP प्रोटोकॉल में कुकीज़ कैसे पारित की जाती हैं? क्लिक पर एक संपादन टेक्स्ट को कैसे साफ़ करें? स्प्रिंग रीडायरेक्ट विशेषताएं: AddAttribute बनाम AddFlashAttribute जब जावा में बुलाया अंतिम रूप () विधि है? ज़ूम नियंत्रणों को कैसे सक्षम करें और एक WebView में ज़ूम ज़ूम करें? XJC + xsd + jxb के साथ विकल्पों का उपयोग करके कोड डालें "-Xinject-code -extension" PHP से jQuery के एजेक्स कॉल पर डेटा कैसे वापस करें अजगर पंडस डेटाफ्रेम तिथि शर्तों के अनुसार टुकड़ा करने की क्रिया गतिशील रूप से तत्वों को एक सूची में जोड़ें Android देखें mySQL तिथि करने के लिए varchar कन्वर्ट क्या इस एक्सेस डाटाबेस स्कीमा में ड्रॉपडाउन लोकप्रिय हो रहा है? HttpContext.Current.User.Identity.Name हमेशा स्ट्रिंग है। खाली MSVCP140.dll गायब है

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

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

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

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

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

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

Solutions Collecting From Web of "स्क्रीन लॉक होने पर पता लगा रहा है"

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

 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