2011-09-28 13 views
8

मैं कैसे सेसेन चालू कर सकता हूं?डिवाइस पर स्क्रीन चालू करें

मैं इस

adb -d shell am broadcast -a android.intent.action.SCREEN_ON 

की तरह कुछ यह वास्तव में काम करना चाहिए, की कोशिश की मैं आशय प्रसारण भेजें यह प्रणाली द्वारा प्राप्त होता है, लेकिन स्क्रीन

चालू नहीं करता है मुझे समझ नहीं आता क्या है समस्या, क्या कोड द्वारा डिवाइस की स्क्रीन को चालू करना संभव है? मेरा मतलब सॉफ्टवेयर के साथ है? ऐसा लगता है कि स्क्रीन की मोड़ सिर्फ हार्डवेयर बटन प्रेस द्वारा की जाती है। । । कम से कम मुझे वह गिर गया, क्या मैं गलत हूँ?

+1

यह गलत होने पर यह एक डुप्लिकेट जैसा दिखता है: http://stackoverflow.com/questions/2891337/turning-on-screen-programmatically – Sephy

+0

बस संदर्भ के लिए: यदि आप 'adb shell का उपयोग शुरू करते हैं - adb के माध्यम से एक ऐप लॉन्च करने के लिए पैकेजेनेम/गतिविधि नाम ', स्क्रीन वर्तमान में बंद हो जाएगी (वर्तमान में एकता 3 डी ऐप के साथ एंड्रॉइड 5.0 पर परीक्षण) –

उत्तर

4

मैं इस बारे में गलत हो सकता है, लेकिन ...

आप भेजने के लिए कुछ के रूप में प्रसारण के बारे में सोच नहीं करना चाहिए बातें किया जाना है, लेकिन बजाय चीजें हैं जो भेजा जाता है जब चीजें के रूप में उन्हें के बारे में सोच किया जाता है।

मुझे लगता है कि जब सिस्टम चालू हो जाता है, तो सिस्टम 'android.intent.action.SCREEN_ON' भेजता है, लेकिन 'android.intent.action.SCREEN_ON' भेजना जरूरी नहीं है कि स्क्रीन चालू हो।

मुझे उम्मीद है कि यह समझ में आता है।

जवाब के लिए, आप इसे में प्राप्त कर सकते हैं ...

9

यदि u पसंद है यू बदल सकते हैं/बंद:

adb shell 
@shell: input keyevent 26 
@shell: (enter or via hidden command empty line) 
@shell: exit 

यह मेरे लिए कुछ एंड्रॉइड संस्करणों पर काम करता है;)
(नोट: यह डब्ल्यू बीमार और बंद स्क्रीन बारी है, वास्तविक स्क्रीन राज्य पर निर्भर करता है)

स्क्रीन यू निम्न तरीकों का उपयोग कर सकते की वर्तमान स्थिति का पता लगाने के लिए: mScreenOn=true/false के लिए
एंड्रॉयड < 5.xx
adb shell dumpsys input_method
उत्पादन खोज में

एंड्रॉयड> = 5.xx
adb shell dumpsys display
उत्पादन तलाश में के लिए mScreenState=ON/OFF

मेरी स्क्रिप्ट में मैं का उपयोग इस \s{0,}mScreen(State|On)=(?<STATE>(true|false|on|off))\s{0,} (संकलित | IgnoreCase | ExplicitCapture) दोनों आउटपुट वर्तमान स्थिति का पता लगाने के लिए नियमित अभिव्यक्ति।

संबंध है, k1ll3r8e

1

आदेश स्क्रीन टॉगल करने के लिए/बंद है:

adb shell input keyevent 26 

यह गाढ़ा आदेश पसंद किया जाता है क्योंकि यह आपको लिपियों में इसका इस्तेमाल करने की अनुमति देता है।

चीयर्स!

+1

टॉगल बराबर नहीं है "चालू करें", चालू होना चाहिए यदि प्रदर्शन पहले से चालू है या नहीं, अन्यथा इसे बंद कर दिया जा सकता है। – David

18
adb shell input keyevent KEYCODE_POWER 

वर्क्स स्क्रीन पर चालू करने के लिए (जब प्रदर्शन बंद है)

+0

नमस्ते, बंद/चालू होने पर, यह एक डिवाइस (एंड्रॉइड किटकैट) पर काम करता है, लेकिन किसी अन्य पर नहीं (मार्शमोलो पहनें) – ransh

+1

मेरे लिए मार्शमलो (6.0) और जेलीबीन (4.2.2) दोनों पर काम करता है। –

5

Android 5.0 के लिए और ऊपर स्क्रीन बंद करने (जब प्रदर्शन पर/जाग रही है) काम करता है:

adb shell input keyevent KEYCODE_WAKEUP 

या

adb shell input keyevent 224 

Reference:

डिवाइस को जगाता है। कुछ हद तक KEYCODE_POWER की तरह व्यवहार करता है लेकिन डिवाइस का पहले से ही जागृत होने पर इसका कोई प्रभाव नहीं पड़ता है।


नोट: KEYCODE_POWER एपीआई स्तर 1 में जोड़ा जबकि KEYCODE_WAKEUP एपीआई स्तर 20 में जोड़ा गया!

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