Czy mogę uruchomić skanowanie multimediów za pomocą wiersza polecenia?

14

Czy można uruchomić skaner multimediów, aby zaktualizować swoją bazę danych za pomocą wiersza poleceń?

Mam zainstalowany serwer SSH na moim urządzeniu z Androidem i kopiuję pliki do / z tego samego łącza. Byłoby wspaniale, gdybym mógł również uruchomić ponowne skanowanie w poszukiwaniu skanera mediów.

Wiem, że na rynku są aplikacje, które mogą to robić za pomocą interfejsu użytkownika, ale nie tego chcę.

Każda pomoc w pełni doceniona.

Ken Sharp
źródło

Odpowiedzi:

14

Serwer SSH nie ustawia wszystkich niezbędnych zmiennych środowiskowych, więc łatwiej jest użyć skryptu powłoki.

#!/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

Po sukcesie:

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

Działa to na Cyanogenmod 9.1. W zależności od systemu środowisko może się nieco różnić.

Uwaga: W późniejszych wersjach Cyanogenmod / Android karta SD może być zamontowana /storage/sdcard0. Upewnij się, że wiesz, gdzie jest zamontowana karta, w przeciwnym razie to nigdy nie zadziała. Diskinfo może tutaj pomóc.

Dzięki Danowi Hulme za popchnięcie mnie we właściwym kierunku.

Bibliografia:

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
źródło
W systemie Android Paranoid (CM10 / JB 4.1) powoduje to natychmiastowe ponowne uruchomienie. Nie jestem pewien, czy występuje problem z pamięcią ROM lub coś się zmieniło. Zbada.
Ken Sharp
W CM11 to nie działa.
Jared Burrows,
@JaredBurrows Czy użyłeś prawidłowej ścieżki? W CM10 zmieniło się to z / mnt / sdcard na / storage / sdcard0.
Ken Sharp
Przepraszam, chciałem wyjaśnić więcej. Używam CM11 Android 4.4.2 Kit Kat. Próbowałem / sdcard /, / sdcard / Music. Moja karta SD jest bardzo pusta. Próbuję odświeżyć Muzykę Google Play.
Jared Burrows,
2
To najwyraźniej nie działa już na Androidzie 8.1. Nawet GUI narzędzi programistycznych, które korzystają z tej samej emisji, już nie działa.
user149408