如何访问手机的外接Micro SD卡?

hir*_*oni 7 eclipse android

有谁知道如何获得手机的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)

上面的函数将返回文件...