如何在android中获取内部和外部sdcard路径
在内部存储中存储的方法:
File getDir (String name, int mode)
File getFilesDir ()
以上方法存在于Context 类中
手机内存存储方法:
File getExternalStorageDirectory ()
File getExternalFilesDir (String type)
File getExternalStoragePublicDirectory (String type)
一开始大家都用Environment.getExternalStorageDirectory(),指向手机内存的root。结果,根目录被随机内容填充。
后来增加了这两个方法:
在Context 类中,他们添加了getExternalFilesDir(),指向手机内存中的特定应用目录。卸载应用时,该目录及其内容将被删除。
Environment.getExternalStoragePublicDirectory() 用于存储知名文件类型(如照片和电影)的集中位置。此目录及其内容将在应用卸载时不会被删除。
存储在可移动存储(即 micro SD 卡)中的方法
在 API 级别 19 之前,没有官方的方式存储在 SD 卡中。但是许多人可以使用非官方的 API 来做到这一点。
官方在 API 级别 19(Android 版本 4.4 - Kitkat)的Context 类中引入了一种方法。
File[] getExternalFilesDirs (String type)
它返回所有应用程序特定目录的绝对路径
应用程序可以放置的共享/外部存储设备
它拥有的持久性文件。这些文件在应用程序内部,
并且通常不作为媒体对用户可见。
这意味着,它将返回到 Micro SD 卡和内部存储器的路径。一般第二个返回路径为micro SD卡的存储路径。
根据 Google/官方 Android 文档的内部和外部存储术语与我们的想法完全不同。