ADB recibe la transmisión BOOT_COMPLETE

Quiero esperar hasta que el teléfono móvil Android haya comenzado y el MediaScanner esté listo.

Después quiero realizar una acción usando adb.

adb wait-for-device finalizará mucho antes de que se complete la secuencia de inicio del teléfono celular.

Cómo capturar, por ejemplo, BOOT_COMPLETE Broadcast a través de ADB? Algo así como: espera-para-arrancar-completar. No sé si esto es posible?

Puede seguir dev.bootcomplete propiedades del sistema sys.boot_completed o dev.bootcomplete .

En cuanto al código, no sé qué entorno y / o lenguaje de scripting está usando. Es bastante sencillo. Primero, debe encontrar qué propiedad está configurada en “1” al finalizar el arranque mediante el software de su teléfono. Digamos que es dev.bootcomplete . Luego, el siguiente comando devolvería el control a su secuencia de comandos una vez que se haya iniciado el teléfono

 adb wait-for-device shell 'while [[ -z $(getprop dev.bootcomplete) ]] ; do sleep 1; done' 

Para aquellos de ustedes que trabajan en un entorno de Windows, este script por lotes funciona para mí.

Espera hasta que se ejecute el daemon de ADB, luego comienza a sondear la propiedad sys.boot_completed y espera un valor de 1.

No es tan elegante como una sola línea, pero tengo la secuencia de comandos enumerada en mi variable de entorno PATH para que pueda ser llamada directamente.

 adb wait-for-device :CheckAgain set value= for /f "delims=" %%a in ('adb shell getprop sys.boot_completed') do @set value=%%a IF NOT "%value%" == "1" ( timeout /t 2 /nobreak >NUL goto CheckAgain ) 

Si su dispositivo no tiene busybox instalado (consulte el script de shell en Android da [: no encontrado ), puede intentar iterar en su computadora. Algo como esto funcionaría:

 while [ `adb shell getprop dev.bootcomplete` -nq "1" ] ; do sleep 1; done 

Si su dispositivo tiene busybox instalado, puede proceder como Alex P. comentó:

 adb shell 'while [ ""`getprop dev.bootcomplete` != "1" ] ; do sleep 1; done' 

Por supuesto, la syntax depende de su máquina (POSIX, etc.).