如何在我的应用程序中下载我在默认图库中下载的图像?

时间:2014-12-16 01:32:19

标签: android

我制作了一个应用程序,它具有文件共享功能之一,并且发送的文件可能是任何内容。但是,使用com.androidquery.AQuery下载,发送的图像和视频未显示在默认的Gallery应用程序中。是否有一个我错过的步骤,将文件标记为媒体或类似的东西?因为我认为你只需要将文件标记为Android上的非媒体,当你真的不希望它们显示时。

2 个答案:

答案 0 :(得分:2)

文件下载后,您需要执行

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);
}

在android MediaStore中注册您的文件,其中gallery获取有关存储的媒体文件的数据

答案 1 :(得分:1)

经过一些基于Sone答案的研究后,我得到了下载后需要插入的代码:

Uri uri = Uri.fromFile(new File(downloadFilePath)); //Insert your file path here

Intent mediaScanIntent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE);
mediaScanIntent.setData(uri);
getApplicationContext().sendBroadcast(mediaScanIntent);

正如他所说,我需要在android MediaStore中注册我的文件,无论通过强制扫描程序查看最近下载的文件来下载什么类型的媒体,此代码都会这样做。希望它可以帮助其他需要这个的人。