Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/224.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android:获取图像位置_Android_Image_Mediastore - Fatal编程技术网

Android:获取图像位置

Android:获取图像位置,android,image,mediastore,Android,Image,Mediastore,我正在寻找一种方法来找到SD卡上的图像,或者至少是相机拍摄的图像 理想的解决方案是为图像获取一组文件路径或URI。我猜你可以通过MediaStore做到这一点,但我不知道怎么做 谢谢在看了更多的MediaStore示例后,我想到了这个,它完成了工作 protected ArrayList<Uri> GetImageList(boolean getThumbs) { ArrayList<Uri> images = new ArrayList<U

我正在寻找一种方法来找到SD卡上的图像,或者至少是相机拍摄的图像

理想的解决方案是为图像获取一组文件路径或URI。我猜你可以通过MediaStore做到这一点,但我不知道怎么做


谢谢

在看了更多的MediaStore示例后,我想到了这个,它完成了工作

protected ArrayList<Uri> GetImageList(boolean getThumbs) 
{       
    ArrayList<Uri> images = new ArrayList<Uri>();
    String columnType;  
    Uri contentType;                
    String[] columnNames;

    if (getThumbs)
    {
         columnType = MediaStore.Images.Thumbnails._ID;
         contentType = MediaStore.Images.Thumbnails.EXTERNAL_CONTENT_URI;
    }
    else
    {
        columnType = MediaStore.Images.Media._ID;
        contentType = MediaStore.Images.Media.EXTERNAL_CONTENT_URI;
    }

    columnNames = new String[]{columnType};             
    Cursor cursor = managedQuery(contentType, columnNames, null, null, null);       
    int columnIndex = cursor.getColumnIndexOrThrow(columnType);

    for(int i = 0; i < cursor.getCount(); i++)
    {
        cursor.moveToPosition(i);
        int id = cursor.getInt(columnIndex);
        images.add(Uri.withAppendedPath(contentType, "" + id));
    }

    return images;
}
受保护的ArrayList GetImageList(布尔getThumbs)
{       
ArrayList images=新的ArrayList();
字符串列类型;
Uri内容类型;
字符串[]列名称;
if(getThumbs)
{
columnType=MediaStore.Images.Thumbnails.\u ID;
contentType=MediaStore.Images.Thumbnails.EXTERNAL\u CONTENT\u URI;
}
其他的
{
columnType=MediaStore.Images.Media.\u ID;
contentType=MediaStore.Images.Media.EXTERNAL\u CONTENT\u URI;
}
columnNames=新字符串[]{columnType};
Cursor Cursor=managedQuery(contentType、columnNames、null、null);
int columnIndex=cursor.getColumnIndexOrThrow(columnType);
对于(int i=0;i

它返回SD卡上所有图像的Uri或所有图像缩略图的Uri。

最好使用MediaStore.images.Media.BUCKET\u DISPLAY\u NAME过滤掉照片,而不是读取Uri