android - 如何在 Android 4.2 多用户环境下查看外部存储中的 Android/data/your.package.name 文件?

标签 android android-sdcard android-4.2-jelly-bean

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/

相关文章:

android 无法在 4.2 上添加辅助功能

android - 调用callback()到Java时应用崩溃。由于detatchThread而导致运行时错误

java - 如何在android中获取文件数组的大小?

android - 我们如何实现您的应用程序也可以移动到 SD 卡?

android - 在ANDROID中记录去电和呼入电话

android - Android 4.1.2 上 ImageView 中的倾斜图像

Android 支持库直接下载链接

android - 从微调器 onItemSelected 更改微调器选项

java - 将 Logcat 保存到 Android 设备中的文本文件

android - 无法在设备上调试 Android 4.1 上的应用程序