gpt4 book ai didi

java - 执行cursor.getCount() 时崩溃(Android)

转载 作者:行者123 更新时间:2023-12-02 07:36:45 25 4
gpt4 key购买 nike

这种情况并不总是发生,所以我无法正确理解发生了什么:我的应用程序拍摄并修改图片,然后将其保存在外部存储中。如果我尝试在应用程序中从文件管理器而不是从图库打开新保存的图片,则在执行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);
}

最佳答案

您可以使用

if(cursor.moveToFirst()) 
{
//Your code here
}

而不是关闭

cursor.getCount() 

如果光标大小大于0,它将返回true,否则它将返回false......所以你可以这样写......

if (!cursor.moveToFirst())
return -1;

else
return 1;

关于java - 执行cursor.getCount() 时崩溃(Android),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12110594/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com