명령 줄을 통해 미디어 스캔을 트리거 할 수 있습니까?


14

명령 줄을 통해 미디어 스캐너가 DB를 업데이트하도록 트리거 할 수 있습니까?

나는이 SSH 서버 내 안드로이드 장치에 설치 하고 나는 같은 링크를 통해에서 /에 파일을 복사합니다. 미디어 스캐너를 다시 스캔 할 수도 있다면 좋을 것입니다.

UI를 통해이 작업을 수행 할 수있는 응용 프로그램이 시장에 있다는 것을 알고 있지만 이것이 내가 원하는 것이 아닙니다.

도움을 주시면 감사하겠습니다.

답변:


14

SSH 서버는 필요한 모든 환경 변수를 설정하지 않으므로 쉘 스크립트를 사용하기가 더 쉽습니다.

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

성공하면 :

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

이것은 Cyanogenmod 9.1에서 작동합니다. 시스템에 따라 환경이 약간 다를 수 있습니다.

참고 : Cyanogenmod / Android의 이후 버전에서는 SD 카드가에 설치 될 수 있습니다 /storage/sdcard0. 카드가 어디에 장착되어 있는지 확인하십시오. 그렇지 않으면 작동하지 않습니다. Diskinfo 가 도움이 될 수 있습니다.

올바른 방향으로 나를 밀어 준 Dan Hulme에게 감사드립니다.

참고 문헌 :

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


Paranoid Android (CM10 / JB 4.1)에서는 즉시 재부팅됩니다. ROM에 문제가 있는지 또는 무언가가 변경되었는지 확실하지 않습니다. 조사합니다.
Ken Sharp

CM11에서는 작동하지 않습니다.
Jared Burrows

@JaredBurrows 올바른 경로를 사용 했습니까? CM10에서 이것은 / mnt / sdcard에서 / storage / sdcard0로 변경되었습니다.
Ken Sharp

더 설명 해줘서 미안합니다. CM11 Android 4.4.2 Kit Kat을 실행 중입니다. / sdcard /, / sdcard / Music을 시도했습니다. 내 sdcard가 매우 비어 있습니다. Google Play 뮤직을 새로 고침하려고합니다.
Jared Burrows

2
Android 8.1에서는 더 이상 작동하지 않습니다. 동일한 브로드 캐스트를 사용하는 개발자 도구 GUI도 더 이상 작동하지 않습니다.
user149408
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.