android - 我可以在 Android 中为多个用户创建共享文件夹吗?

标签 android filesystems android-multiple-users

在 Android 29 中,我希望能够在多个 Android 用户之间共享大文件。是否可以建立一个用户可以访问的共享目录?用户安装的应用程序可以浏览该目录吗?

或者也许有一个用户拥有原始目录和文件,而其他用户拥有一个已安装/符号链接(symbolic link)的目录?

安装的应用程序可以访问此目录对于我的实现非常重要。

我一直在浏览 Android 文件系统并试图理解: /mnt/user/0/storage/emulated/0/data/media/0/ 但我看不到办法在另一个用户的主目录中创建到这些目录中的文件夹的符号链接(symbolic link)。

最佳答案

您正在查找的目录实际上是 /storage/emulated/0在你的情况下。我的意思是所有其他应用程序可以使用/访问的唯一目录是外部存储。

但是,从Android Q(targetSDKVersion 29)开始,外部存储权限有了相当大的变化。

我建议查看 documentationgetExternalStoragePublicDirectory如果您使用的 Android 版本低于 Android Q。

对于 Android Q 及更高版本,我建议查看 documentationgetExternalFileDir

此外,@CommonsWare 有一篇关于此的精彩文章。请查看his blog post 。我在这里引用他的博客。

For Android Q, you can add android:requestLegacyExternalStorage="true" to your <application> element in the manifest. This opts you into the legacy storage model, and your existing external storage code will work.

Technically, you only need this once you update your targetSdkVersion to 29. Apps with lower targetSdkVersion values default to opting into legacy storage and would need android:requestLegacyExternalStorage="false" to opt-out.

关于android - 我可以在 Android 中为多个用户创建共享文件夹吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61482606/

相关文章:

filesystems - LVM Thinpool - 如何调整 thinpool LV 的大小?

android - Android应用程序中多个用户的应用内计费

android - 检测应用程序后台 Activity 是否受到限制

android - 通过 intent extras 在 Activity 之间传递的关键数据的安全性

java - 在 Android 上使用 RESTEasyClient 时出现 NoSuchMethodError

android - 如何在 android 3.x 上运行 linux 命令挂载和卸载 sd 卡

linux-kernel - 为什么当 GFP_NOFS 被屏蔽时,递归文件系统调用是一个坏主意

java - 获取所有用户的应用列表

android - 如何知道android设备是否支持多用户?

android - 如何在android xml资源文件中保留URL?