Mah*_*ban 18 android file android-sdcard android-file
大多数新的Android设备都有内部SD卡和外部SD卡.我想制作一个文件浏览器应用程序,但我无法找到如何获取在我的应用程序中使用的路径,因为
File file = Environment.getExternalStorageDirectory();
Run Code Online (Sandbox Code Playgroud)
只是在大多数设备中返回,/mnt/sdcard
但是另一个外部SD卡的路径就像/storage1 or /storage2
.任何帮助赞赏.
如何获取android中的内部和外部sdcard路径
存储在内部存储中的方法:
File getDir (String name, int mode)
File getFilesDir ()
Run Code Online (Sandbox Code Playgroud)
上述方法存在于Context
课堂上
存储在手机内存中的方法:
File getExternalStorageDirectory ()
File getExternalFilesDir (String type)
File getExternalStoragePublicDirectory (String type)
Run Code Online (Sandbox Code Playgroud)
一开始,每个人都使用Environment.getExternalStorageDirectory()
,这指向了手机内存的根源.结果,根目录充满了随机内容.
后来,添加了这两种方法:
Context
他们在课堂上添加getExternalFilesDir()
了一个指向手机内部存储器上特定于应用程序的目录.卸载应用程序时,将删除此目录及其内容.
Environment.getExternalStoragePublicDirectory()
用于集中存储着名文件类型的地方,如照片和电影.卸载应用程序时,不会删除此目录及其内容.
存储在可移动存储中的方法即微型SD卡
在API级别19之前,没有正式的方法存储在SD卡中.但许多人可以使用非官方API来做到这一点.
正式地,Context
在API级别19(Android版本4.4 - Kitkat)中引入了一种方法.
File[] getExternalFilesDirs (String type)
Run Code Online (Sandbox Code Playgroud)
它返回应用程序可以放置其拥有的持久文件的所有共享/外部存储设备上特定于应用程序的目录的绝对路径.这些文件是应用程序的内部文件,通常不会被用户视为媒体.
这意味着,它将返回Micro SD卡和内部存储器的路径.通常,第二返回路径将是微SD卡的存储路径.
根据Google /官方Android文档,内部和外部存储术语与我们的想法完全不同.
但其他外部 SD 卡还有另一个路径,例如 /storage1 或 /storage2
Android SDK 中(至少在 Android 4.1 中)没有任何内容可以让您访问这些路径。无论如何,您的应用程序可能无法读取或写入它们。此类存储位置的行为及其用途取决于设备制造商。
归档时间: |
|
查看次数: |
55850 次 |
最近记录: |