Jay*_*mar 59
您可以从以下代码获取SD卡的路径:
File extStore = Environment.getExternalStorageDirectory();
Run Code Online (Sandbox Code Playgroud)
然后指定foldername和文件名
例如:
"/LazyList/"+serialno.get(position).trim()+".jpg"
Run Code Online (Sandbox Code Playgroud)
AnV*_*AnV 13
Environment.getExternalStorageDirectory()将不返回路径的micro SD卡存储.
如何从android中的SD卡获取文件路径
通过SD卡,我假设,你的意思是可移动micro SD卡.
在API级别19,即Android版本4.4 Kitkat中,他们添加File[] getExternalFilesDirs (String type)了ContextClass,允许应用程序将数据/文件存储在micro SD卡中.
Android 4.4是该平台的第一个版本,它实际上允许应用程序使用SD卡进行存储.在API级别19之前对SD卡的任何访问都是通过私有的,不受支持的API.
Environment.getExternalStorageDirectory()来自API级别1
getExternalFilesDirs(String type)返回所有共享/外部存储设备上特定于应用程序的目录的绝对路径.这意味着,它将返回内部和外部内存的路径.通常,第二个返回路径将是microSD卡的存储路径(如果有的话).
但请注意,
共享存储可能并不总是可用,因为用户可以弹出可移动媒体.可以使用检查媒体状态
getExternalStorageState(File).这些文件没有强制执行安全性.例如,任何持有的应用程序
WRITE_EXTERNAL_STORAGE都可以写入这些文件.
根据Google /官方Android文档,内部和外部存储术语与我们的想法完全不同.
小智 11
这段代码有助于轻松搞定............
实际上在某些设备中,外部sdcard默认名称显示为extSdCard,而对于其他设备则显示为sdcard1.此代码段有助于找出确切的路径,并帮助您检索外部设备的路径.
String sdpath,sd1path,usbdiskpath,sd0path;
if(new File("/storage/extSdCard/").exists())
{
sdpath="/storage/extSdCard/";
Log.i("Sd Cardext Path",sdpath);
}
if(new File("/storage/sdcard1/").exists())
{
sd1path="/storage/sdcard1/";
Log.i("Sd Card1 Path",sd1path);
}
if(new File("/storage/usbcard1/").exists())
{
usbdiskpath="/storage/usbcard1/";
Log.i("USB Path",usbdiskpath);
}
if(new File("/storage/sdcard0/").exists())
{
sd0path="/storage/sdcard0/";
Log.i("Sd Card0 Path",sd0path);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
138109 次 |
| 最近记录: |