Recepción de ADB BOOT_COMPLETE

Quiero esperar hasta que el teléfono móvil android se haya iniciado y el MediaScanner esté listo.

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

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

¿Cómo capturar, por ejemplo, BOOT_COMPLETE Broadcast a través de ADB? Algo así como: wait-for-boot-complete. 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 secuencias de comandos está utilizando. Es bastante sencillo. En primer lugar, debe buscar qué propiedad está configurada como "1" en la finalización del arranque con el software de su teléfono. Digamos que es dev.bootcomplete . A continuación, el siguiente comando devolverá el control a su script después de que el teléfono se arranque

 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 el daemon ADB se ejecute, y 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 el script listado en mi variable de entorno PATH para que pueda ser llamado 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 (vea shell script en android da [: no encontrado ], puede intentar iterar en su computadora. Algo así 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 sintaxis depende de su máquina (POSIX, etc).

  • Android diseño: fondo de servicio de larga duración o AlarmManager?
  • Android: errores de difusión no ordenados con GCM
  • Cómo desplazar un ListView en android programatically a hasta gesto hacia abajo
  • ¿No es necesario android.permission.RECEIVE_BOOT_COMPLETED?
  • Cual es mejor, loader o AsyncTask?
  • Android SQLite Query, insertar, actualizar, eliminar, siempre tiene que estar en el hilo de fondo?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.