2014-02-11 75 views
0

我使用下面的代码来刷新SD卡我如何知道媒体扫描已完成?

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

我认为这是一个发送广播媒体XXXX接收器。我想在接收人完成工作后更新我的观点。我怎样才能做到这一点?

回答

2

注册在清单

<receiver android:name=".MediaScannerFinishedReceiver"> 
    <intent-filter> 
    <action android:name="android.intent.action.MEDIA_SCANNER_FINISHED"/> 
    </intent-filter> 
</receiver> 

MEDIA_SCANNER_FINISHED行动,那么在你的活动课听同样的动作

BroadcastReceiver mMediaScannerReceiver; 
public void registerMediaScannerListener() { 
      if (mMediaScannerReceiver == null) { 
        mMediaScannerReceiver = new BroadcastReceiver() { 
          @Override 
          public void onReceive(Context context, Intent intent) { 
            String action = intent.getAction(); 
            if (action.equals(Intent.ACTION_MEDIA_SCANNER_FINISHED)) { 
              System.out.println("I'm here!"); 
            } 
          } 
        }; 
        IntentFilter iFilter = new IntentFilter(); 
        iFilter.addAction(Intent.ACTION_MEDIA_SCANNER_FINISHED); 
        registerReceiver(mMediaScannerReceiver, iFilter); 
      } 
    } 
+0

谢谢约翰..让我来试试你的代码... – saa

+0

Downvoted因为接收者正在代码和清单中注册,这两者都不需要。 – Meanman

相关问题