照片:
MediaStore.Images.Media.insertImage(getContentResolver(),bmp,fileName, null);
bmp.recycle();
bmp = null;
视频:
//这里用handler发送延时消息的方式来扫描而不是直接在这里用扫描,是因为这时候录制的视频文件还未创建完成
mHandler.sendEmptyMessageDelayed(SCAN_FILE,500);
在handleMessage中调用scanFile()方法。
private void scanFile(){
connection = new MediaScannerConnection(EZRealPlayActivity.this, new MediaScannerConnection.MediaScannerConnectionClient() {
@Override
public void onMediaScannerConnected() {
Log.d(TAG, "onMediaScannerConnected: 连接成功"+new File(strRecordFile).exists());
connection.scanFile(strRecordFile,"video/mp4");
}
@Override
public void onScanCompleted(String path, Uri uri) {
Log.d(TAG, "onScanCompleted: "+path+"uri:"+uri);
connection.disconnect();
}
});
connection.connect();
}
主要就是MediaScannerConnection这个对象的创建,在回调方法onMediaScannerConnected中扫描文件scanFile(文件地址,MIME类型),这里的是扫描单个文件。
如果要扫描多个文件,使用
MediaScannerConnection.scanFile();