gpt4 book ai didi

android - 为什么文件存在声明在android中不正确?

转载 作者:行者123 更新时间:2023-11-29 21:37:47 24 4
gpt4 key购买 nike

我正在处理电子邮件附件。附件时我遇到了一个问题。问题是我想发送一封带附件的邮件。我在这条路径上有一个文件 sdcard0,然后是 fgg,然后是 hh.html。当我调试时在这个 File file = new File(attachments.getString(i));它显示 file:/storage/sdcard0/fgg/hh.html但是在此之后它不去 if 条件为什么?

File file = new File(attachments.getString(i));
if (file.exists()) {
Uri uri = Uri.fromFile(file);
uris.add(uri);
}

这是我的代码

JSONArray attachments = parameters.getJSONArray("attachments");
if (attachments != null && attachments.length() > 0) {
ArrayList<Uri> uris = new ArrayList<Uri>();
//convert from paths to Android friendly Parcelable Uri's
for (int i=0; i<attachments.length(); i++) {
try {
File file = new File(attachments.getString(i));
if (file.exists()) {
Uri uri = Uri.fromFile(file);
uris.add(uri);
}
} catch (Exception e) {
LOG.e("EmailComposer", "Error adding an attachment: " + e.toString());
}
}
if (uris.size() > 0) {
emailIntent.putParcelableArrayListExtra(Intent.EXTRA_STREAM, uris);
}
}
} catch (Exception e) {
LOG.e("EmailComposer", "Error handling attachments param: " + e.toString());
}

最佳答案

文件的 Uri 需要三个斜线:

file:///storage/sdcard0/fgg/hh.html

如你所见here .但我可能无法正常工作,因此请尝试删除字符串的“文件:”部分:

File file = new File(attachments.getString(i).replace("file:","");

关于android - 为什么文件存在声明在android中不正确?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17964470/

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