我正在开发一个需要直接访问 sdcard 根文件夹的应用程序,但是在 Android 4.2 中,标准 /sdcard 目录现在指向特定于运行应用程序的用户的“模拟”sdcard。这不好,因为我的应用程序需要访问存储在 sdcard 顶层的文件。有谁知道如何在 Android 4.2 中直接访问 SD 卡?
问问题
6449 次
2 回答
1
也许我误解了你的问题,但是,我的 Nexus Galaxy 运行 Android 4.2.1,我可以使用Environment.getExternalStorageDirectory()
. 返回的目录是/storage/emulated/0
,但内容是 的/sdcard
。
于 2012-12-10T18:11:42.423 回答
1
您可以将存储目录用作文件类型吗?( java.io.File
)
如果是这样,您可以通过在您的方法中使用如下代码来获取外部存储(通常是 SD 卡,但将是没有 SD 卡的手机上的主存储):
File path = Environment.getExternalStorageDirectory();
此外,访问存储需要READ_EXTERNAL_STORAGE
您的 Android Manifest 中的权限 -WRITE_EXTERNAL_STORAGE
如果修改了任何数据,则需要此权限。以下是清单中出现的这些权限:
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
资料来源:
http://developer.android.com/reference/android/os/Environment.html http://developer.android.com/reference/android/Manifest.permission.html
于 2012-12-02T17:43:40.533 回答