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