如何在运行时通过编程找到android外部存储的确切路径? mySound.load(新的URL请求(“file://mnt/sdcard/AnyFolder/YourSound.mp3"));`
我想在运行时检测SD卡的名称,以便将我的应用程序数据存储在外部存储器上 上面的代码行是将mp3存储到用户所需位置的示例如何在运行时通过编程找到android外部存储的确切路径? mySound.load(新的URL请求(“file://mnt/sdcard/AnyFolder/YourSound.mp3"));`,android,Android,我想在运行时检测SD卡的名称,以便将我的应用程序数据存储在外部存储器上 上面的代码行是将mp3存储到用户所需位置的示例 mySound.load(new URLRequest("file://mnt/sdcard/AnyFolder/YourSound.mp3"));`<br/> 在 使用环境。getExternalStorageState()它将提供内部SD装载点的路径,如“/mnt/sdcard”可能您需要: getExternalStorageDirectory() 我还建
mySound.load(new URLRequest("file://mnt/sdcard/AnyFolder/YourSound.mp3"));`<br/>
在
使用
环境。getExternalStorageState()
它将提供内部SD装载点的路径,如“/mnt/sdcard”可能您需要:
getExternalStorageDirectory()
我还建议您避免写入SD卡的根目录。将应用程序数据写入适当的文件夹是一种良好的做法:
File f = new File(Environment.getExternalStorageDirectory() +
"/" + "yourfilename");
显然,您必须用您的应用程序包(您在Eclipse/Android Studio中创建项目时输入的包)更改“com.example.testapp”。首先,在Android 4.4+上,您没有对可移动媒体(例如,“external SD”)的写访问权,但该媒体上可能由用户返回的任何位置除外 getExternalFilesDirs()和getExternalCacheDirs() 请参阅Dave Smith对此的出色分析,特别是如果您需要底层细节的话 其次,为了避免有人质疑可移动媒体访问是否是Android SDK的一部分,以下是: …请记住:在Android 4.4之前,官方Android平台根本不支持SD卡,只有两种特殊情况例外:老式的存储布局,其中外部存储是SD卡(该平台至今仍支持SD卡),安卓3.0还增加了一个小功能,可以扫描更多的SD卡并将其添加到媒体提供商,并允许应用程序以只读方式访问其文件(目前该平台仍支持该功能) 安卓4.4是该平台的第一个版本,实际上 允许应用程序使用SD卡进行存储。有没有接触过他们 在此之前,是通过私有的、不受支持的API实现的。我们现在有一个 平台中相当丰富的API,允许应用程序使用 SD卡以一种受支持的方式,以比以前更好的方式 之前:他们可以免费使用其应用程序特定的存储区域 不需要应用程序中的任何权限,并且可以访问任何其他应用程序 SD卡上的文件,只要它们再次通过文件选择器 无需任何特殊许可
File f = new File(Environment.getExternalStorageDirectory() +
"/Android/data/com.example.testapp/" + "yourfilename");