MediaScanner に関する基本的な質問があります。これをよりよく理解するのを手伝ってください。
フォルダーの MediaScanner は、スキャンされたフォルダーに関する情報のみを返しますが、その中に存在するメディア ファイルのフォルダーの内容は返しません。フォルダーが例としてスキャンされた場合。/storage/extSdCard/DCIM/Camera
その中に.jpgファイルがほとんどない場合、その中のファイルについてではなく、フォルダーについてのスキャン応答を取得します。以下のログ、
D/MediaScannerConnection(29105): Connected to MediaScanner
D/MediaScannerConnection(29105): Scanning file 7klwibgf7fxlKdCbid7DCRV7Cbvfib
D/MyLog(29105): onScanCompleted(path,uri), path: /storage/extSdCard/DCIM/Camera, Uri: content://media/external/file/4334
私の質問は、メディアファイルが私の関心のあるフォルダーに追加されたときにイベントを取り戻すことは可能ですか?/storage/extSdCard/DCIM/Camera
public void MyScanner(String filename){
File fileCheck = new File(filename);
conn = new MediaScannerConnection(this,this);
conn.connect();
}
@Override
public void onMediaScannerConnected() {
Log.d(TAG,"onMediaScannerConnected() to MediaScanner Service");
conn.scanFile(filename, null);
}
@Override
public void onScanCompleted(String path, Uri uri) {
if(path!=null && uri!=null)
Log.d(TAG,"onScanCompleted(), path: "+path+", Uri: "+uri.toString());
Log.d(TAG,"Converting file uri to FilePath: "+getRealPathFromURI(uri));
}