Android 4.2 添加了对平板电脑的多用户支持。现在,当您通过 Environment.getExternalStorageDirectory()
或 Context.getExternalFilesDir(null)
等方法请求将文件保存在外部存储上的路径时,您会得到如下值:/storage/emulated/#/Android/data/your.package.name/
# 是一个数字,取决于您当前登录的用户身份。
这工作正常,但我注意到 DDMS 的文件资源管理器以及 Android File Transfer无法查看这些文件。
DDMS 的文件资源管理器看不到 storage/emulated/
之后的任何内容,除了一个空的 legacy
文件夹。文件传输可以看到/Android/data/文件夹,但对于以调试方式运行的应用程序,其文件不可见(但它们确实存在)。
有没有办法让 DDMS 或文件传输与这些设备一起工作? (希望无需 root 设备...)
谢谢
最佳答案
啊哈!
尝试 /mnt/shell/emulated/N
,获取 N
的各种值,例如 0
。这似乎在我的 Nexus 10 和 DDMS 中的 Galaxy Nexus 上正确映射。不过,我无法对文件传输工具发表评论。
顺便说一句,这些数字对用户来说不是连续的。所以在我的N10上,原来的用户是0
,第二个用户是10
。
关于android - 如何在 Android 4.2 多用户环境下查看外部存储中的 Android/data/your.package.name 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13574607/