मैं डिवाइस को सोने या स्क्रीन बंद करने के लिए भेजना चाहता हूं। मैं जांच की और इस विषय मिल गया है: Turn off screen on Androidस्क्रीन को बंद करने या डिवाइस को सोने के लिए
असल में, तीन तरीकों से यह करने के लिए कर रहे हैं, लेकिन मैं तीन के लिए समस्याओं पाया है:
क) विकल्प 1:
PowerManager manager = (PowerManager) getSystemService(Context.POWER_SERVICE);
manager.goToSleep(int amountOfTime);
समस्या : यह एफसी का कारण बनता है। मैंने पढ़ा है कि मुझे DEVICE_POWER
अनुमतियों की आवश्यकता है, लेकिन इसे सामान्य ऐप्स के लिए नहीं दिया जा सकता है।
ख) विकल्प 2:
PowerManager manager = (PowerManager) getSystemService(Context.POWER_SERVICE);
PowerManager.WakeLock wl = manager.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "Your Tag");
wl.acquire();
wl.release();
समस्या: यह मेरे लिए काम नहीं करता। मुझे नहीं पता क्यों। यह मुझे एक एफसी नहीं देता है, लेकिन यह निर्दोष है।
ग) विकल्प 3:
WindowManager.LayoutParams params = getWindow().getAttributes();
params.flags |= LayoutParams.FLAG_KEEP_SCREEN_ON;
params.screenBrightness = 0;
getWindow().setAttributes(params);
समस्या: मैं यह काम करने के लिए प्राप्त कर सकते हैं, लेकिन जब कोशिश उपकरण को चालू करने के लिए यह विचित्र बातें, जैसे वापस जाने के लिए पसंद नहीं है है, या मेरी क्षुधा अगर सामने है, बटन पर दबाने के बाद स्वचालित रूप से सो जाता है। यह सामान्य समाधान की तुलना में एक टिप या वर्कअराउंड की तरह दिखता है।
क्या कोई मुझे सोने के लिए डिवाइस भेजने या स्क्रीन बंद करने के लिए कोई अच्छी विधि बता सकता है जो बिना किसी समस्या के चला सकता है? यह मेरे लिए दुर्लभ लगता है कि इस तरह की एक साधारण कार्यक्षमता का उपयोग करने का कोई अच्छा तरीका नहीं है (या शायद अच्छी तरह से प्रलेखित)
में यह पाया क्या होगा यदि मैं यह स्क्रीन बंद करना चाहते हैं और नहीं मेरी स्क्रीन लॉक बार तक पहुंच से वंचित हो? –