2013-08-16 2 views
0

MediaScanner pls에 대한 기본적인 질문이 있습니다.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)); 
     } 

답변

0
First One Code.... 

scanPhoto(imageFileName.toString()); 



public void scanPhoto(final String imageFileName) 
{ 
    msConn = new MediaScannerConnection(PreviewDemo1.this,new MediaScannerConnectionClient() 
    { 
       public void onMediaScannerConnected() 
       { 
        msConn.scanFile(imageFileName, null); 
        Log.i("msClient obj in Photo Utility","connection established"); 
       } 
       public void onScanCompleted(String path, Uri uri) 
       { 
        msConn.disconnect(); 
        Log.i("msClient obj in Photo Utility","scan completed"); 
       } 
    }); 
    msConn.connect(); 
} 

, 다시 이벤트를받을 수 있나요 두 번째 한 코드 ..

sendBroadcast(new Intent(Intent.ACTION_MEDIA_MOUNTED, Uri.parse("file://"+ Environment.getExternalStorageDirectory()))); 
+0

안녕하세요, 위 코드는 이미지 파일이 들어있는 폴더를 스캔합니까? ? 나는 그 안에 이미지 파일을 재귀 적으로 "FOLDERS"스캔해야 할 필요가있다. – Manju

+0

반복적으로 작업하지 마십시오. 내가 편집 한 두 번째 것을 시도해주세요. –