有谁知道如何获得手机的SD卡?
我知道有人会告诉我它getExternalStorageDirectory()或Environment.getExternalStoragePublicDirectory().
但不幸的是,它并不总是指向所有型号的外置SD卡.例如,我在一个三星模型中尝试过它可以正常但另一个没有,LG没有.而且根据文档也不总是外部SD卡.
这里是,
*"不要在这里混淆"外部"这个词.
此目录最好被视为媒体/共享存储.它是一个文件系统,可以容纳相对大量的数据,并在所有应用程序之间共享(不强制执行权限).
传统上这是一张SD卡,但它也可以作为内置存储实现在与受保护的内部存储不同的设备中,并且可以作为文件系统安装在计算机上."*
在我的应用程序中,我希望用户只使用SD卡.
我怎么能克服这个?
Rus*_*shi -2
您可以通过以下方式获取路径......
File sdCardRoot = Environment.getExternalStorageDirectory();
PATH = sdCardRoot.toString();
Run Code Online (Sandbox Code Playgroud)
如果路径不存在,那么你必须通过 mkdir() 创建路径......
private File getTempFile(Context context) {
final File path = new File(Environment.getExternalStorageDirectory(),
context.getPackageName());
if (!path.exists()) {
path.mkdir();
}
return new File(path, "new.png");
}
Run Code Online (Sandbox Code Playgroud)
上面的函数将返回文件...
| 归档时间: |
|
| 查看次数: |
19977 次 |
| 最近记录: |