명령 줄을 통해 미디어 스캐너가 DB를 업데이트하도록 트리거 할 수 있습니까?
나는이 SSH 서버 내 안드로이드 장치에 설치 하고 나는 같은 링크를 통해에서 /에 파일을 복사합니다. 미디어 스캐너를 다시 스캔 할 수도 있다면 좋을 것입니다.
UI를 통해이 작업을 수행 할 수있는 응용 프로그램이 시장에 있다는 것을 알고 있지만 이것이 내가 원하는 것이 아닙니다.
도움을 주시면 감사하겠습니다.
명령 줄을 통해 미디어 스캐너가 DB를 업데이트하도록 트리거 할 수 있습니까?
나는이 SSH 서버 내 안드로이드 장치에 설치 하고 나는 같은 링크를 통해에서 /에 파일을 복사합니다. 미디어 스캐너를 다시 스캔 할 수도 있다면 좋을 것입니다.
UI를 통해이 작업을 수행 할 수있는 응용 프로그램이 시장에 있다는 것을 알고 있지만 이것이 내가 원하는 것이 아닙니다.
도움을 주시면 감사하겠습니다.
답변:
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