gpt4 book ai didi

android - file.exists() 为 android 中的现有文件返回 false

转载 作者:行者123 更新时间:2023-11-29 17:54:29 28 4
gpt4 key购买 nike

在我的应用程序中,用户可以从 SD 卡中选择图片并设置为个人资料图片。一切正常,但是当用户从 sdcard 图像无法解码的 whatsapp 文件夹中选择图像时。

我正在使用以下代码解码文件并在 ImageView 中显示。

if (imgFile.exists()) {                                 

Bitmap myBitmap = BitmapFactory.decodeFile(imgFile
.getAbsolutePath());

imgProfilePic.setImageBitmap(myBitmap);
myBitmap = null;
System.gc();
Runtime.getRuntime().gc();

}

我正在选择图像路径 /storage/sdcard0/WhatsApp/Media/WhatsApp Images/IMG-20130804-WA0000.jpg 它存在于 sdcard 但 file.exists 总是返回 false。如果用户从其他文件夹而不是 whatsapp 选择图像,它工作正常。

更新

我正在按照以下步骤

1. click on profilepic(imageview).
2. select options(from camera,galerry,or edit)
3. open selected or captured image in CropImage Activity.
4. display cropped image.

任何帮助将不胜感激..谢谢。

最佳答案

我正在修改其他应用程序的图像。我认为这可能是问题所在。那我做了什么?

  1. onActivityResult()中选择图片并获取路径
  2. 使用以下代码从临时文件中的此路径复制图像
  3. 使用临时文件进行裁剪和其他处理

private void copyFile(File sourceFile, File destFile) throws IOException {
if (!sourceFile.exists()) {
return;
}

FileChannel source = null;
FileChannel destination = null;
source = new FileInputStream(sourceFile).getChannel();
destination = new FileOutputStream(destFile).getChannel();
if (destination != null && source != null) {
destination.transferFrom(source, 0, source.size());
}
if (source != null) {
source.close();
}
if (destination != null) {
destination.close();
}

}

希望这可以帮助其他人。

关于android - file.exists() 为 android 中的现有文件返回 false,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20437626/

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