2011-05-16 7 views
2

sendBroadcast를 사용하여 미디어 파일을 검사하고 있습니다. 그런 다음 sendBroadcast를 수행 한 후 완료 될 때까지 기다려야합니다. Android에서 어떻게합니까? 하지만 수신기sendBroadcast가 끝날 때까지 기다리는 방법

더 나은 방법

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

// wait here till till do something completed 

을 찾고 여기 로직 동안

나는 이

private BroadcastReceiver mediaScanner = new BroadcastReceiver(){ 

     @Override 
     public void onReceive(Context context, Intent intent) { 
      String action = intent.getAction(); 
       if (action.equals(Intent.ACTION_MEDIA_SCANNER_FINISHED)) { 
        // Do some thing here. 
       } 
    } 
} 

답변

0

여기는 미디어 스캐너가 실행 중인지 확인하는 코드입니다. **

public static final boolean isMediaScannerScanning(final ContentResolver cr) { 
    boolean result = false; 
    final Cursor cursor = query(cr, MediaStore.getMediaScannerUri(), new String[] { MediaStore.MEDIA_SCANNER_VOLUME }, null, 
      null, null); 
    if (cursor != null) { 
     if (cursor.getCount() == 1) { 
      cursor.moveToFirst(); 
      result = "external".equals(cursor.getString(0)); 
     } 
     cursor.close(); 
    } 
    return result; 
} 

나는 여기에 대답 http://androidbridge.blogspot.com/2012/06/how-to-check-whether-android-media.html

+0

을 게시 왜 여기 ** 대답을 게시하지 않습니다! –

0
당신은 자바에서 Observable pattern 찾아보실 수 있습니다

, 그것은 당신의 뜻을 matchs 나는 간단한을 사용할 수 있습니다 알고

관련 문제