¿Puedo activar un escaneo de medios a través de la línea de comando?

14

¿Es posible activar el escáner de medios para actualizar su DB a través de la línea de comando?

Tengo un servidor SSH instalado en mi dispositivo Android y copio archivos a / desde el mismo enlace. Sería genial si también pudiera activar un nuevo escaneo para el escáner de medios.

Soy consciente de que hay aplicaciones en el mercado para hacer esto a través de la interfaz de usuario, pero esto no es lo que quiero.

Cualquier ayuda totalmente apreciada.

Ken Sharp
fuente

Respuestas:

14

El servidor SSH no establece todas las variables de entorno necesarias, por lo que es más fácil usar un script de shell.

#!/system/bin/sh

export ANDROID_ASSETS=/system/app
export ANDROID_CACHE=/cache
export ANDROID_DATA=/data
export ASEC_MOUNTPOINT=/mnt/asec
export ANDROID_ROOT=/system
export BOOTCLASSPATH=/system/framework/core.jar:/system/framework/core-junit.jar:/system/framework/bouncycastle.jar:/system/framework/ext.jar:/system/framework/framework.jar:/system/framework/android.policy.jar:/system/framework/services.jar:/system/framework/apache-xml.jar:/system/framework/filterfw.jar
export EXTERNAL_STORAGE=/mnt/sdcard
export LD_LIBRARY_PATH=/vendor/lib:/system/lib

am broadcast -a android.intent.action.MEDIA_MOUNTED -d file:///mnt/sdcard

Cuando tiene éxito:

# rescan-media
Broadcasting: Intent { act=android.intent.action.MEDIA_MOUNTED dat=file:///mnt/sdcard }
Broadcast completed: result=0

Esto funciona en Cyanogenmod 9.1. Dependiendo de su sistema, el entorno puede ser ligeramente diferente.

Nota: en versiones posteriores de Cyanogenmod / Android, la tarjeta SD se puede montar en /storage/sdcard0. Asegúrese de saber dónde está montada su tarjeta o esto nunca funcionará. Diskinfo puede ayudar aquí.

Gracias a Dan Hulme por empujarme en la dirección correcta.

Referencias

http://developer.android.com/reference/android/content/Intent.html
http://forum.xda-developers.com/showthread.php?t=1752749
http://intwoplacesatonce.com/
http: // kennystechtalk.blogspot.co.uk/2013/08/start-android-media-scanner-from.html

Ken Sharp
fuente
En Android paranoico (CM10 / JB 4.1) esto provoca un reinicio inmediato. No estoy seguro si hay un problema con la ROM o si algo ha cambiado. Investigaré.
Ken Sharp
En CM11 esto no funciona.
Jared Burrows
@JaredBurrows ¿Has utilizado la ruta correcta? En CM10, esto ha cambiado de / mnt / sdcard a / storage / sdcard0.
Ken Sharp
Lo siento, quise explicar más. Estoy ejecutando CM11 Android 4.4.2 Kit Kat. He intentado / sdcard /, / sdcard / Music. Mi tarjeta sd está muy vacía. Estoy intentando actualizar Google Play Music.
Jared Burrows
2
Esto aparentemente ya no funciona en Android 8.1. Incluso la GUI de herramientas de desarrollador, que usa la misma transmisión, ya no funciona.
user149408