有人可以详细解释Android中的各种存储位置,
真的与这些混淆了吗?是否有任何方法可以在需要时以编程方式访问它们?
答案 0 :(得分:5)
我无法代表所有手机上的存储路径。但我可以清楚地解释一下我的手机; Coolpad Note 3 - 在Android 5.1上运行。因为,根据您的供应商/制造商和不同版本的Android操作系统,其他手机的存储位置或路径可能会有所不同。
通常,/someDirectory
或/root/someDirectory
或>root>someDirectory
相同。其中哪一个被挑选出来;取决于你的文件管理器。
在我的手机上:
/root/sdcard
是手机内存的存储路径(在我的情况下为16 GB)。
/storage/emulated/0/
和/storage/sdcard0/
都是/root/sdcard
的符号链接。这意味着,这两条路径也是手机内存的存储路径。
/storage/sdcard1/
是 micro SD卡的存储路径。
在任何电话上:
在Android 4.2之前,只有一位用户可以使用您的手机。 没有概念两个或更多用户创建单独的配置文件并登录到同一部手机。
因此,没有像/storage/emulated/someDirectory
在Android 4.2中引入多用户API 后,模拟的目录出现了。
从那时起,
/storage/emulated/legacy/
指向当前工作用户的外部存储(Android术语)。这将是一个符号链接。
/storage/emulated/anyNumber/
指向特定用户的外部存储(Android术语)。
在我的手机上:我有两个用户。
user1(Ramesh)的内部存储器位置为:/storage/emulated/0/
user2(Kishore)的内部存储位置为:/storage/emulated/10/
如果user1(Ramesh)登录,则/storage/emulated/legacy/
会指向/storage/emulated/0/
&使用手机。在这种情况下,/storage/emulated/legacy/
将是/storage/emulated/0/
如果user2(Kishore)登录,则/storage/emulated/legacy/
会指向/storage/emulated/10/
&使用手机。在这种情况下,/storage/emulated/legacy/
将是/storage/emulated/10/
如果您想了解有关存储路径的更多信息,请参阅此answer on android.stackexchange.com
我在上面特别提到了外部存储( Android术语)。因为,根据Google /官方Android文档,内部和外部存储术语与普通Android操作系统用户完全不同。