android - 访问sdcard android上的文件

标签 android sd-card filepath

我是 Android 开发新手。我正在尝试使用以下代码通过 gmail 通过电子邮件发送有关我的摩托罗拉里程碑的文件。

    Intent sendIntent = new Intent(Intent.ACTION_SEND);
    sendIntent.setType("audio/mp3");
    sendIntent.putExtra(Intent.EXTRA_STREAM, "file:///sdcard/king1.mp3");
    sendIntent.putExtra(Intent.EXTRA_SUBJECT, "Subject");
    sendIntent.putExtra(Intent.EXTRA_TEXT, "this is the email content2");
    sendIntent.putExtra(Intent.EXTRA_STREAM, Uri.parse("file:///sdcard/king1.mp3"));
    startActivity(Intent.createChooser(sendIntent, "Title:"));

运行代码发送电子邮件,但发送的附件为 0kb。我在互联网上的其他地方看到过这个问题,但我不确定我是否声明了正确的文件路径。我怎么知道文件的确切路径?如果我安装它,我得到的路径是/Volumes/NO NAME/king1.mp3。

或者

我是否需要先使用 fileinputstream 读取文件?

非常感谢!

最佳答案

尝试

Environment.getExternalStorageDirectory()

获取SD卡的root。

关于android - 访问sdcard android上的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5308997/

相关文章:

android - 如何从类路径为 Android ImageView 加载图像?

android - 获取 SDCard 上特定目录的内容

android - 如何在 android 中监听 SD 卡安装?

android - 在外部 SD 卡中创建文件

java - CWE-73 : External Control of File Name or Path Veracode java solution

android - 在android中放置额外的 boolean 值给出错误的值

Android VR工具包-HeadTransform getHeadView矩阵表示

android - 如何使用前一个 fragment 的 EditText 输入更改 fragment 中的 TextView?

java - 如何在 java 中删除文件路径编码 %20

c# - 仅从完整文件名 c# 写入相对文件名