7

我正在开发一个需要将文件写入 SD 卡的应用程序。我正在使用 GetExternalStoragePublicDirectory() 来确定要写入的目录。

我有两部正在开发的手机。在运行 Android 4.0.4(冰淇淋三明治)的 Google Nexus S 上,它返回 SD 卡上的目录。但是,在运行 Android 2.3.5 的 Samsung Exhibit 2 上,它直接写入手机上的 USB 存储。

有没有办法强制SD卡?

编辑:

我发现 getExternalStoragePublicDirectory() 和 getExternalStorageDirectory() 总是返回“/mnt/sdcard/”。这实际上不是 sd 卡的安装位置。在 Samsung Exhibit 2 上,这是 USB 存储位置。卡安装位置是“/mnt/sdcard/external_sd”。有没有办法返回这个实际的 sd 位置?

我看到相机和其他应用程序已经找到了一种方法。相机应用程序有一个“存储”设置,带有“手机”和“存储卡”选项。如果指定“存储卡”,图像实际上存储在 sd 卡上。

4

2 回答 2

2

有没有办法返回这个实际的 sd 位置?

不,抱歉,不在当前的 Android SDK 中。

我看到相机和其他应用程序已经找到了一种方法。

大多数情况下,它们要么是设备制造商编写的,要么是通过 读取信息MediaStore,这应该索引两个来源。

于 2012-04-19T15:17:39.627 回答
0

如果您只想写入 SD 卡,请使用

File mySdCardPath = Environment.getExternalStorageDirectory();
File dir = new File (mySdCardPath.getAbsolutePath() + "/yourDirectoryName");
于 2012-04-13T23:11:40.847 回答