我的应用程序在外部存储(/sdcard)上创建图片文件。我希望这些图像可以从Gallery中查看(不要在Gallery中打开它们,只要用户切换到Gallery即可查看)。有办法做到这一点吗?
使用Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES);
获取公共映像目录的路径。
我从未尝试过这样做,但文件显示,那是公共图像(即画廊)的所在地。
来源:http://developer.android.com/reference/android/os/Environment.html#getExternalStoragePublicDirectory(java.lang.String)
编辑:要通知图库数据库已插入另一个文件,您可以尝试以下操作:
private void addImageGallery( File file ) {
ContentValues values = new ContentValues();
values.put(MediaStore.Images.Media.DATA, file.getAbsolutePath());
values.put(MediaStore.Images.Media.MIME_TYPE, "image/jpeg");
getContentResolver().insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, values);
}
来源:
https://stackoverflow.com/a/9096984/998759
听起来您需要使用MediaScannerConnection。
我同意@Jens的观点。使用MediaScannerConnection,特别是静态scanFile()方法。请在此处查看我的答案。