查询摄像机图像及其坐标

时间:2018-07-31 12:29:41

标签: java android image android-contentresolver

我最近才开始使用android的存储,现在遇到了一个我找不到解决方案的问题。我通过ContentResolver查询相机拍摄的所有图像,这是我的第一个问题。它确实查询了我的一些相机图像,但不是全部。我的手机上大约有400张图片,但我只收到大约215张图片。以下是查询:

        Cursor cur = getContentResolver().query(MediaStore.Images.Media.EXTERNAL_CONTENT_URI,null, MediaStore.Images.Media.BUCKET_DISPLAY_NAME + " = ?",new String[]{"Camera"},MediaStore.Images.ImageColumns.DATE_TAKEN + " desc");

然后我在while循环中对光标中找到的所有数据进行一次循环:

 if(cur != null && cur.getCount() > 0)
        cur.moveToFirst();
    cur.moveToPrevious();

    while(cur.moveToNext())
    {.....}

其次,我尝试获取每个图像的坐标,就像在拍摄位置一样。这是我的方法: 我在函数的开头初始化了一个空位置:

        Location loc = new Location("");

然后我使用以下方法获取经度和纬度的列索引:

int latIndex = cur.getColumnIndex(MediaStore.Images.Media.LATITUDE);
    int longIndex = cur.getColumnIndex(MediaStore.Images.Media.LONGITUDE);

最终,我使用以下代码获取每个图像的坐标:

loc.setLongitude(cur.getDouble(longIndex));
loc.setLatitude(cur.getDouble(latIndex));

问题是,所有图片上的坐标返回完全相同。虽然它们绝对不是放在同一地方。我还手动检查了厨房以确保并非所有照片都是在同一地点拍摄的,并且它们来自不同的地方。通过图像->详细信息。

如果可能的话,我真的很乐意提供一些帮助。谢谢!

0 个答案:

没有答案