在录像保存在系统,但是在图库中却不显示,手动刷下后,图库会自动加载。
要让程序自动将录制的视频添加到文件管理器中:
Uri localUri = Uri.fromFile(videoFile);
Intent localIntent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE, localUri);
sendBroadcast(localIntent);
其中,videoFile是File对象。
(这样图库中是显示了,但是此时调用
Cursor cursor = getContentResolver().query(MediaStore.Video.Media.EXTERNAL_CONTENT_URI, null, null, null, MediaStore.Video.Media.DEFAULT_SORT_ORDER);依旧找不到,可能是刷新的较慢吧)
另一种方法:(可以解决以上问题)
<pre name="code" class="java">String name = fileName.substring(fileName.lastIndexOf('/'), fileName.length());
ContentValues localContentValues = new ContentValues();
localContentValues.put(MediaStore.Video.Media.DATA, fileName);
localContentValues.put(MediaStore.Video.Media.TITLE, name);
localContentValues.put(MediaStore.Video.Media.MIME_TYPE, "video/mp4");
localContentValues.put(MediaStore.Video.Media.SIZE, size);
localContentValues.put(MediaStore.Video.Media.DISPLAY_NAME, name);
ContentResolver localContentResolver = getContentResolver();
Uri localUri = MediaStore.Video.Media.EXTERNAL_CONTENT_URI;
localContentResolver.insert(localUri, localContentValues);