这并不总是发生,所以我无法正确理解发生了什么:我的应用程序拍摄并修改了一张图片,然后将其保存在外部存储中。如果我尝试在应用程序中打开一个来自文件管理器而不是来自画廊的新保存图片,它在执行 cursor.getCount() 时崩溃,在 DDMS 中我读到错误:“游标在最终之前没有关闭”这是一块问题出在哪里的代码,有需要我可以发更多,谢谢!ps此代码取自stackoverflow中的其他答案,正如您所料,我不是专家,所以请耐心等待我,谢谢pps,当它们出现在画廊中时,我在保存后无法立即在画廊中看到图片错误消失。
public static int getOrientation(Context context, Uri photoUri) {
/* it's on the external media. */
Cursor cursor = context.getContentResolver().query(photoUri,
new String[] { MediaStore.Images.ImageColumns.ORIENTATION }, null, null, null);
if (cursor.getCount() != 1) { //HERE IS THE PROBLEM
return -1;
}
cursor.moveToFirst();
return cursor.getInt(0);
}