如何将手机存储中的所有图像存入我的应用程序?

时间:2011-11-28 10:47:54

标签: android android-gallery

我的Android应用程序的一项活动需要显示手机中的所有图片,包括SD卡,相机图片,下载等。如何使用代码执行此操作?是通过Intent还是其他一些可能的方式? (例如在谷歌+应用程序中,它会显示手机中的所有图片。)

3 个答案:

答案 0 :(得分:4)

您需要使用内容解析器查询内容数据库

String[] mProjection = {MediaStore.Images.Media._ID,
                                MediaStore.Images.Media.DATA};

mCursor = cr.query(MediaStore.Images.Media.EXTERNAL_CONTENT_URI,
                               mProjection,
                               null,
                               null,
                               MediaStore.Images.Media.DEFAULT_SORT_ORDER);

使用上面的mCursor,您可以获得外部存储设备上存在的图像的路径。

您可能需要GridViewGridView的适配器可以使用光标逐个获取图像。

答案 1 :(得分:1)

执行此操作的最佳方法是使用MediaStore.Images内容提供商。这将显示Gallery应用程序中显示的所有图像。但是,它不会在包含.nomedia文件的文件夹中显示隐藏的图像或图像。如果你想同时展示它们,你必须自己递归扫描文件系统(参见File)。

答案 2 :(得分:0)

您是否只想打开Android图库应用程序?

如果不这样做,您可以随时使用此MediaStore类。它拥有您需要的所有信息。 http://developer.android.com/reference/android/provider/MediaStore.html