Bisakah saya memicu pemindaian media melalui baris perintah?

14

Apakah mungkin untuk memicu pemindai media untuk memperbarui DB-nya melalui baris perintah?

Saya memiliki server SSH yang diinstal pada perangkat Android saya dan saya menyalin file ke / dari tautan yang sama. Akan lebih bagus jika saya juga dapat memicu pemindaian ulang untuk pemindai media.

Saya sadar bahwa ada aplikasi di pasar untuk melakukan ini melalui UI tetapi ini bukan yang saya inginkan.

Setiap bantuan sangat dihargai.

Ken Sharp
sumber

Jawaban:

14

Server SSH tidak mengatur semua variabel lingkungan yang diperlukan sehingga lebih mudah untuk menggunakan skrip 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

Ketika berhasil:

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

Ini bekerja pada Cyanogenmod 9.1. Tergantung pada sistem Anda, lingkungan mungkin sedikit berbeda.

Catatan: Dalam versi Cyanogenmod / Android yang lebih baru, kartu SD dapat dipasang di /storage/sdcard0. Pastikan Anda tahu di mana kartu Anda dipasang atau ini tidak akan berhasil. Diskinfo dapat membantu di sini.

Terima kasih kepada Dan Hulme karena mendorongku ke arah yang benar.

Referensi:

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
sumber
Pada Paranoid Android (CM10 / JB 4.1) ini menyebabkan reboot langsung. Tidak yakin apakah ada masalah dengan ROM atau ada sesuatu yang berubah. Akan menyelidiki.
Ken Sharp
Pada CM11 ini tidak berfungsi.
Jared Burrows
@JaredBurrows Sudahkah Anda menggunakan jalur yang benar? Dalam CM10 ini telah berubah dari / mnt / sdcard ke / storage / sdcard0.
Ken Sharp
Maaf saya bermaksud menjelaskan lebih lanjut. Saya menjalankan CM11 Android 4.4.2 Kit Kat. Saya sudah mencoba / sdcard /, / sdcard / Music. Kartu sd saya sangat kosong. Saya mencoba menyegarkan Google Play Music.
Jared Burrows
2
Ini tampaknya tidak lagi berfungsi di Android 8.1. Bahkan alat pengembang GUI, yang menggunakan siaran yang sama, tidak lagi berfungsi.
user149408