जब तक होम स्क्रीन दिखाई न दे, तब तक प्रतीक्षा-के-उपकरण को कैसे स्वीकार करें?


18

मुझे अपनी स्क्रीन को अदब का उपयोग करके अनलॉक करने की आवश्यकता है, और प्रतीक्षा-के लिए डिवाइस बहुत जल्दी निकल जाता है (जब डिवाइस बूट हो रहा होता है), और स्क्रीन अनलॉक विफल हो जाता है। क्या यह पता लगाने का कोई तरीका है कि होम स्क्रीन, इसलिए मैं स्क्रीन अनलॉक कर सकता हूं?

यह वह कमांड है जिसका उपयोग मैं स्क्रीन अनलॉक करने के लिए कर रहा हूं -

adb wait-for-device shell input keyevent 82

जवाबों:


23

अच्छी तरह से प्रतीक्षा के लिए डिवाइस, जैसा कि आप पहले से ही महसूस किया है जब तक अदब डेमन ठीक से शुरू नहीं होता है। यह पहले से ही init समय पर है। संपूर्ण बूट की जांच करने के लिए आप अपनी स्क्रिप्ट के लिए कुछ इस तरह से विज्ञापन कर सकते हैं:

छद्म में:

  1. इंतजार के लिए उपकरण
  2. लंबे समय तक गेटप्रॉप sys.boot_completed! = 1 कुछ सेकंड नींद लें getprop sys.boot_completed फिर से जांचें
  3. शेल इनपुट कीवेंट 82

यह काम करना चाहिए।

कुछ इस तरह:

#!/bin/bash

adb wait-for-device

A=$(adb shell getprop sys.boot_completed | tr -d '\r')

while [ "$A" != "1" ]; do
        sleep 2
        A=$(adb shell getprop sys.boot_completed | tr -d '\r')
done

adb shell input keyevent 82

यह परीक्षण नहीं किया गया है इसलिए संभावित गलतियों के बारे में जागरूक रहें


कृपया आसानी से पठनीय होने के लिए अपने उत्तर को संपादित करें। आपके पास एक मान्य उत्तर है, लेकिन थोड़ी स्पष्टता सभी को मदद करेगी। धन्यवाद
HasH_BrowN

उत्तर अब संपादित किया गया है। आशा है कि यह आपकी मदद करता है :)
विभाजित-दर-शून्य

अच्छा उत्तर +1, अब अन्य इसका अनुसरण करने में सक्षम होंगे। उन आकस्मिक क्षणों के लिए " हमेशा एक बैकअप प्रदर्शन करना " जोड़ना न भूलें ;)
हैश_ब्रोन

2
मैंने पाया कि getpropगाड़ी का परिणाम उसके बाद वापस आ गया था, इसलिए adbकमांड को बदलकर $(adb shell getprop sys.boot_completed | tr -d '\r')चाल को किया। यह सिर्फ कैरिज रिटर्न कैरेक्टर को ट्रिम कर रहा है।
कोटमोजो

@ विभाजित-शून्य कृपया CoatedMoose द्वारा उल्लिखित ट्रिमिंग को शामिल करने के लिए अपने उत्तर को संशोधित करें। उमंग कृपया इसे उत्तर के रूप में भी स्वीकार करें।
जयशिल दवे

9

यह एक पुराना सवाल है और बॉर्डरलाइन ऑफ टॉपिक है, लेकिन यहां एक ही लाइन में कैसे करना है:

adb wait-for-device shell 'while [[ -z $(getprop sys.boot_completed) ]]; do sleep 1; done; input keyevent 82'

0

यहाँ मैं क्या लेकर आया हूँ:

adb wait-for-device shell <<ENDSCRIPT
echo -n "Waiting for device to boot "
echo "" > /data/local/tmp/zero
getprop dev.bootcomplete > /data/local/tmp/bootcomplete
while cmp /data/local/tmp/zero /data/local/tmp/bootcomplete; do 
{
    echo -n "."
    sleep 1
    getprop dev.bootcomplete > /data/local/tmp/bootcomplete
}; done
echo "Booted."
exit
ENDSCRIPT

echo "Waiting 30 secs for us to be really booted"
sleep 30

echo "Unlocking screen"
adb shell "input keyevent 82"
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.